初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます

20150411143621

Terminal UNIXコマンド 検索結果を削除する find rm xargs

Terminalで検索した結果を削除する方法を忘れるので健忘録で残しときます。

find ./ type f -name '*.txt' | xargs rm

TerminalはGUIと違って削除するとファイルはゴミ箱には移動せず、
そのまま完全に削除されるので下記の方法を取るといいでしょう。


1.findコマンドのみ実行し、ファイルを検索する。

find ./ -name '*.txt'

意図した検索結果になっているか確認する。(削除するつもりもないファイルもあると大変です。)


2.今回紹介した方法で削除

find ./ -name '*.txt' | xargs rm

ちなみに検索はこちらでも大丈夫です。

find ./ -type f -print  |  grep '*.txt'

上記コマンドの補足もしておきます。

-print

検索結果を標準出力する。このとき結果をフルパスで表示する

-type f

指定したファイルタイプを検索する。
f:通常ファイル
c or d:ディレクトリ
l:シンボリック・リンクを検索します。

xargs

ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。
今回だとfindで検索した'*.txt'をrmコマンドに引き渡すコマンド。

grep

ファイルから文字列を検索する。grep の後に検索したい文字列を指定する。

topへ戻る