Contents
-
- 日曜プログラミング
- UNIX
- サーバ
- プログラミング言語
- データベース
- プロトコル
- Firefox
- Windows アプリ
- その他(未分類)
お問合せ::
メールフォーム
| コマンド | 説明 |
|---|---|
| xargs | 標準入力でリストを受け取り、単一の引数に分割して各引数に対しコマンドを実行する |
% find . -name '*.php' | xargs -i cp {} ~/backup
-i : {} を引数リストに置き換える
% find . -type f -name '*.bak' -print0 | xargs -0 rmfind -print0
ファイル名をフルパスで標準出力に表示し、各ファイル名にNULL文字を付加する。 このオプションは最後に付ける。
xargs -0, --null
標準入力からの文字列の区切りに、空白ではなくヌル文字が使われているとみなす。 また引用符やバックスラッシュに特別の意味を持たせず、すべての文字をそのまま用いる。 ファイル終了文字列も無効となり、他の文字列と同じように扱われる。 入力される文字列に空白・引用符・バックスラッシュが含まれている場合に有用である。
| find の -print0 オプションと xargs の -0 オプションを指定することで、ファイル名に改行やスペースが混入しているファイルでも正しく削除できる。 |
|---|
% find baddir | xargs -r grep 'hoge'-r : 入力を受け取らなかったときにコマンドを実行しない