2016-08-25 69 views
2

我想打印文件的詳細信息以及grep輸出,但無法這樣做。例如,該命令如何打印匹配grep模式的文件的文件詳細信息

grep 3456 A.txt 

我得到的輸出

A.txt 

但想輸出

-rw-rw-r-- 1 tarun tarun 41356911 Aug 25 01:31 A.txt 

我嘗試沒有成功如下:

  1. grep 34567 A.txt | xargs ls -tlr

  2. grep 34567 A.txt | while read line ; do echo "$line" | date %s.%N ; done

  3. grep -Hr 34567 A.txt | awk -F: '{"stat -c %z "$1 | getline r; print r": "$0 }'

  4. grep 34567 A.txt | awk -F: '{"date -r \""$1"\" +\"%F %R\"" | getline d; print d,$0}'

回答

3
grep -Zl 3456 * | xargs -0 ls -l 

與GNU的grep。選項有:

  • grep -Zxargs -0:用NULL字節而不是空白分隔輸出名稱。這樣你可以處理包含空格的文件名。
  • grep -l:只打印匹配
  • ls -l那些文件名:標準ls長時間的輸出,這似乎是你所要求的。

測試最新的cygwin。

+0

它工作..非常感謝。你提供的插圖非常需要。 – Tarun