awkを使用して複数のファイルから特定の文字列を検索しようとしたときに返されます。
'Example' is a directory: skipped.
awkを使用してすべてのサブディレクトリとファイルを検索する方法は?
使用例、
awk -F: '$3 ~ /example/' * > C:/out.txt
ベストアンサー1
これはシェルワイルドカードの問題であり、awk
再帰的にglobするにはbashglobstar
オプションを有効にする必要があります。
shopt -s globstar
グローバルスター
設定されている場合、パス名拡張コンテキスト**で使用されるパターンは、すべてのファイルとゼロ以上のディレクトリとサブディレクトリと一致します。パターンの後に/が続くと、ディレクトリとサブディレクトリのみが一致します。
これにより、次のことができます。
awk -F: '$3 ~ /example/' ** > C:/out.txt
ディレクトリ自体をスキップするエラーはまだ発生しますが、そのディレクトリでも繰り返されます。 stderrを/ dev / nullにリダイレクトすることでエラーを隠すことができます。
awk -F: '$3 ~ /example/' ** > C:/out.txt 2>/dev/null