ls -lAtr /data/log.* | tail -1 | awk '{ printf $9 }' > $logfile
echo $logfile
cat $logfile # I want to cat the content of this log file, but this wouldn't work
logfile2=/usr/some/path/text.log
echo $logfile2
cat $logfile2 # This work
我是外壳编程的新手,我想知道如何将日志文件转换为logfile2之类的东西(我问正确的问题吗?),以便我可以像对待文件一样对其进行阅读。
认为您正在寻找(也可以在bash中工作)
logfile2="$(</usr/some/path/text.log)"
来自ksh
男人页
$(cat file) can be replaced by the equivalent but faster $(<file).
,例如
> cat text.log
line 1
line 2
> ksh
> logfile2="$(<text.log)"
> echo "$logfile2"
line 1
line 2
您是否试图将ls|tail|awk
的结果存储在$logFile
中?如果是这样:
logFile=$(ls -lAtr /data/log.* | tail -1 | awk '{ printf $9 }')
但是,您不应该解析ls
的输出。