如何将字符串更改为KSH中的路径


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的输出。

相关内容

  • 没有找到相关文章

最新更新