複数のファイルを検索するために使用すると、grep -o
ファイル名の前に付けられた各結果が出力されます。このプレフィックスをどのようにブロックできますか?ファイル名なしで結果が欲しいです。
答え1
grep
このオプションは(また説明されています-o
)または互換性のあるGNU実装を介して使用できます-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.
他の実装では、いつでもファイルをcat
出力にgrep
関連付けることができます。
cat ./*.txt | grep regexp
代わりに、sed
次のように使用します。awk
grep
awk '/regexp/' ./*.txt
(例:withなどの拡張正規表現grep -E
)
sed '/regexp/!d/' ./*.txt
grep
(with Withoutなどの基本正規表現。-E
多くの実装で正規表現拡張オプションもサポートされています)。sed
-E
答え2
でファイル名を隠すオプションをgit grep
使用してください。-h
git grep -h <pattern>
このオプションは--no-filename
git grepでは機能しません。