Tar*_*run 3 bash shell grep loops xargs
我想打印文件详细信息以及grep输出但无法这样做.例如,对于命令
grep 3456 A.txt
Run Code Online (Sandbox Code Playgroud)
我得到了输出
A.txt
Run Code Online (Sandbox Code Playgroud)
但是想要输出
-rw-rw-r-- 1 tarun tarun 41356911 Aug 25 01:31 A.txt
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但没有成功:
grep 34567 A.txt | xargs ls -tlr
grep 34567 A.txt | while read line ; do echo "$line" | date %s.%N ; done
grep -Hr 34567 A.txt | awk -F: '{"stat -c %z "$1 | getline r; print r": "$0 }'
grep 34567 A.txt | awk -F: '{"date -r \""$1"\" +\"%F %R\"" | getline d; print d,$0}'
grep -Zl 3456 * | xargs -0 ls -l
Run Code Online (Sandbox Code Playgroud)
用GNU grep.选项是:
grep -Z和xargs -0:用NULL字节而不是空格分隔输出名称.这样您就可以处理包含空格的文件名.grep -l:仅打印匹配的文件名ls -l:标准ls长输出,似乎是你要求的.测试了最新的cygwin.