获取最新的修改文件并从修改的文件中计数行数

问题描述 投票:0回答:1

[尝试编写一个简单的脚本以从目录中查找最新的修改文件,然后计算该修改文件的行数。以下是我的脚本的一部分。

注意:$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”部分发生的情况是,它与最新日志的计数不匹配,因为它似乎正在计数其他日志文件。

有什么建议吗?谢谢!

unix
1个回答
0
投票

建议:将最新日志的结果存储在变量中,并在计数中重复使用。像这样:

#!/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)"

详细信息:

  • latestlogline:您的代码完全是要提取完整的信息行
  • latestlogfilename:仅文件名。 wc -l需要一个文件名,因此请从您的第一个命令中提取它。
  • 然后只是回显变量值。
  • 如前所述,****完全相同。
© www.soinside.com 2019 - 2024. All rights reserved.