我想打印文件详细信息以及 grep 输出,但无法这样做。例如,对于命令
grep 3456 A.txt
我得到输出
A.txt
但想要输出
-rw-rw-r-- 1 tarun tarun 41356911 Aug 25 01:31 A.txt
我尝试了以下但没有成功:
grep 34567 A.txt | xargs ls -tlr
grep 34567 A.txt |读行时;做 echo "$line"|日期 %s.%N ;完成
grep -Hr 34567 A.txt | awk -F: '{"stat -c %z "$1 |获取行 r;打印 r": "$0 }'
grep 34567 A.txt | awk -F: '{"date -r\""$1"\"+\"%F %R\""|获取线路 d;打印 d,$0}'
最佳答案
grep -Zl 3456 * | xargs -0 ls -l
使用 GNU grep。选项是:
grep -Z
和xargs -0
:用 NULL 字节而不是空格分隔输出名称。这样您就可以处理包含空格的文件名。grep -l
:只打印匹配的文件名ls -l
:标准的ls
长输出,这似乎是您所要求的。
在最新的 cygwin 上测试。
关于bash - 如何打印匹配 grep 模式的文件的文件详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39145343/