/ varディレクトリとすべてのツリーディレクトリで.logで終わるすべてのファイルを見つけ、各* .logファイルの最後の10行を作成する必要があります。
cd /var
sudo find -name '*.log' -print
このコマンドを使用すると、これらのファイルを見つけることができます。私が見るもの:印刷ラインを
./log/auth.log
./log/Xorg.0.log
....
./log/apt/term.log
.log/alternatives.log
使用しようとしていますが、
for var in sudo find -name '*.log'; do tail -n 10 $var; done
エラーが発生します。それでは、ファイルを見つけて行を印刷するにはどのコマンドを使用する必要がありますか?
ベストアンサー1
この試み:
find /var -name "*.log" -type f -exec tail '{}' +
説明する:
-type f
- ファイルのみ検索
-exec <command> {} +
- コマンドを実行します。詳しくは man find をご覧ください。
または:
for i in $(find /var -name "*.log" -type f); do echo $i; tail $i; done
同じ出力が得られますが、フォーマットが若干異なります。