如何捕获终端中的第一个命令输出并使用同一行中的最后一个命令打印该变量

时间:2016-09-15 11:25:12

标签: linux bash terminal grep

实际输出为

$ grep -Hcw count copy_hb_script 
copy_hb_script:5

我使用以下命令获得预期的输出但是我失败

grep -Hcw count copy_hb_script | awk '{print $1}' |xargs ls -ld | awk '{print $8 " " $9 }'

退出是

03:49 copy_hb_script 

缺少文件的数量,是否有任何替代方法可以获得带有文件计数的时间戳,如下所示

03:49 copy_hb_script:5

1 个答案:

答案 0 :(得分:2)

can avoid parsing ls output并在bash中使用stat命令获取详细的文件信息。

 #  'stat -c' produces output as 2016-09-15 16:03:40.655456000 +0530
 #   Stripping off extra information after the '.' using string-manipulation            
 #   Running the grep with the count together with the previous command

 modDate=$(stat -c %y copy_hb_script); echo "${modDate%.*}" "$(grep -Hcw count copy_hb_script)"

生成输出
016-09-15 16:03:40 copy_hb_script:5