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
我是shell编程的新手,我想知道如何将日志文件转换为logfile2之类的东西(我问过正确的问题吗?),这样我就可以像对待文件一样对待它了。
答案 0 :(得分:1)
您是否尝试将ls|tail|awk
的结果存储在$logFile
中?如果是这样的话:
logFile=$(ls -lAtr /data/log.* | tail -1 | awk '{ printf $9 }')
答案 1 :(得分:1)
认为你正在寻找(也适用于bash)
logfile2="$(</usr/some/path/text.log)"
来自ksh
手册页
$(cat file) can be replaced by the equivalent but faster $(<file).
e.g。
> cat text.log
line 1
line 2
> ksh
> logfile2="$(<text.log)"
> echo "$logfile2"
line 1
line 2