在目錄中搜尋字元串 - 獲取不帶文件名的輸出
我正在執行以下命令以顯示與模式匹配的行。
查找 ./files/ -name “*.txt” -print0 | xargs -0 grep “5|20150507”
輸出是
./files/N1.942_0000.txt:78787878|13|5|20150507221152 ./files/N1.942_0000.txt:78787878|13|5|20150507221156 ./files/N1.943_0002.txt:1221212|13|5|20150507222004 ./files/N1.810_0000.txt:8892716618|13|5|20150507215150 ./files/N1.442_0001.txt:8648648648|13|5|20150507221636 ./files/N1.442_0001.txt:8648648648|13|5|20150507221638 ./files/N1.442_0001.txt:7406079160|13|5|20150507221941
但我想要沒有文件名的輸出,如下所示。
*78787878|13|5|20150507221152
78787878|13|5|20150507221156
1221212|13|5|20150507222004
8892716618|13|5|20150507215150
8648648648|13|5|20150507221636
8648648648|13|5|20150507221638
7406079160|13|5|20150507221941*
將 grep 與選項 “-h” 一起使用。
-h, --no-filename Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.
查找 ./files/ -name “*.txt” -print0 | xargs -0 grep -h “5|20150507”
grep
命令有-r
選項它在目錄上遞歸搜尋文本
下面的例子:
grep -r "5|20150507" ./ | awk -F ':' {'print $2'}