すべてのサブディレクトリで、特定のファイル形式の文字列が最後に表示されることを見つけます。

すべてのサブディレクトリで、特定のファイル形式の文字列が最後に表示されることを見つけます。

それぞれ深さが異なる複数のサブディレクトリがあります。特定のファイル形式(例*.out:どのようにこれを達成できますか?

私は試した:

grep -r 'string' **/*.out | tail -1

ただし、これは最後のファイルの最後の文字列のみを提供します。

ベストアンサー1

子ディレクトリの親ディレクトリにあるとします。

find . -type f -name '*.out' -exec sh -c '
  for f do
    grep "string" /dev/null "$f" | tail -n 1
  done
' sh {} +

おすすめ記事