[尝试编写一个简单的脚本以从目录中查找最新的修改文件,然后计算该修改文件的行数。以下是我的脚本的一部分。
注意:$stg
变量是为另一个目录创建的
echo "LATEST LOG = $(ls -ltr $stg/abc/foo***.txt | awk '{print $5, $6, $7, $8, $9}' | tail -n1)"
echo "COUNT = $(wc -l $stg/abc/foo***.txt | tail -n1)"
“ COUNT”部分发生的情况是,它与最新日志的计数不匹配,因为它似乎正在计数其他日志文件。
有什么建议吗?谢谢!
建议:将最新日志的结果存储在变量中,并在计数中重复使用。像这样:
#!/bin/bash
latestlogline=$(ls -ltr foo*.txt | awk '{print $5, $6, $7, $8, $9}' | tail -n1)
latestlogfilename=$(echo $latestlogline | awk 'NF>1{print $NF}')
echo "LATEST LOG = $(echo $latestlogline)"
echo "COUNT = $(wc -l $latestlogfilename)"
详细信息:
wc -l
需要一个文件名,因此请从您的第一个命令中提取它。***
与*
完全相同。