Skip to content

Instantly share code, notes, and snippets.

@kiyotune
Created October 3, 2012 08:38
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kiyotune/3825822 to your computer and use it in GitHub Desktop.
Save kiyotune/3825822 to your computer and use it in GitHub Desktop.
複数のディレクトリを除外してfindしてあれこれする
# 除外するディレクトリ:.svn, vendors, data, tmp, tests
# ファイル一覧を表示
find ./ -type d \( -name '.svn' -o -name 'vendors' -o -name 'data' -o -name 'tmp' -o -name 'tests' \) -prune -o -type f -print
# ファイル名(*.php)で絞り込み
find ./ -type d \( -name '.svn' -o -name 'vendors' -o -name 'data' -o -name 'tmp' -o -name 'tests' \) -prune -o -type f -name '*.php' -print
# 複数のディレクトリをまたいだファイルの一括検索
find ./ -type d \( -name '.svn' -o -name 'vendors' -o -name 'data' -o -name 'tmp' -o -name 'tests' \) -prune -o -type f -name '*.php' -print | xargs grep 'test_string'
# 複数のディレクトリをまたいだファイルの一括削除
find ./ -type d \( -name '.svn' -o -name 'vendors' -o -name 'data' -o -name 'tmp' -o -name 'tests' \) -prune -o -type f -name '*.php.swp' -print | xargs rm -f
# 複数のディレクトリをまたいだファイルの一括置換
find ./ -type d \( -name '.svn' -o -name 'vendors' -o -name 'data' -o -name 'tmp' -o -name 'tests' \) -prune -o -type f -name '*.php' -print | xargs sed -i 's/test_string/TestString/g'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment