furoblog’s blog

妻と一緒にはじめました。1日1更新が目標です。

【Linux】コマンドメモ

Linuxコマンドメモ

Linuxコマンドメモ

Linuxで特定の文字列を含むファイルを出力

find [検索対象フォルダのパス] -type f -print | xargs grep '[検索したい文字列]' 

 

応用:Grepの出力結果数を抽出

find [検索対象フォルダのパス] -type f -print | xargs grep -c [検索内容] | grep -v :0

grep -c で件数を返します。

このままだと0件でも返してしまうので、grep -v :0としてやることで0件の場合は出力から除外も可能です。

 

応用:findの出力結果でファイル名のみ取得

find [ディレクトリ] -name [検索ワード] -maxdepth 1 -printf '%f\n'

監視など、一定間隔でコマンドを実行したいときに便利

watch -n 10 ps -af

 

-n 10で10秒間隔でps -afというコマンドを叩いています。

最新のログを定期的に表示する。

なんてことをする時も便利ですね。

 

例えば、

 

watch -n10 "find ~/var/log/hogehoge.log -type f -print | xargs grep -i 'error'"

 

などのようにしてやれば、ログからerrorを検知した時に画面に当該部分が出力されるのでよく使います。

 

参考リンク