grep, find, xargs

シェルコマンド。すぐ忘れるので。
WEB+DB PRESS Vol.50の記事のメモ。

grep

正規表現にマッチした行を出力する

例: エラーログのうち、タイムアウトは無視する

$ grep -i error | grep -iv 'time error'
  • -i : 大文字小文字を無視する
  • -v : マッチしなかった行を出力する

find

指定したディレクトリ以下から、条件にマッチしたファイルやディレクトリを出力する

例: バックアップを見つけて削除する

$ find . -name '*~' -or -name '*.bak' -exec rm '{}' ';'
  • -name : ファイル名にマッチする
  • -or : 前後の条件のどちらかにマッチする
  • -exec : ファイルごとにコマンドを実行する。'{}'はファイル名に置き換えられる。';'までがコマンド。
  • -print0 : 見つけたファイル名をnull文字区切りで出力する

xargs

入力をファイル名とみなし、引数としてコマンドを実行する。

例: バックアップを見つけて削除する(まとめて削除)

$ find . -name '*~' -or -name '*.bak' -print0 | xargs -0 rm
  • -0 : 入力をnull文字区切りとみなす


WEB+DB PRESS Vol.50

WEB+DB PRESS Vol.50