xargs解説
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
**引用元 [#afb8c089]
http://openlab.dino.co.jp/2008/02/20/133431188.html
**内容 [#ud15251c]
タイトルの通りですが、xargsコマンドの便利さを紹介する記事...
~
~
例えばfindで見つけたファイルを全部削除したい場合、xargsな...
~
$ rm `find . -name \*~`
しかし、これではヒットするファイル数が多すぎる場合に、下...
~
-bash: /bin/rm: Argument list too long
普段は意識しないと思いますけど、実はコマンド実行する際の...
~
一方で、同じ目的であれば下記のようにしても達成できます。 ~
~
$ find . -name \*~ -exec rm {} \;~
ただ、これだと100000ファイルがヒットした場合にrmコマンド...
~
一気に全部rmするにはファイル数が多すぎるけど、1つづつrmし...
~
$ find . -name \*~ | xargs rm
xargsを使った場合に上の2つの例とどう違うかというと、コマ...
~
以上を「レシピ」としてまとめると下記のようになります。 ~
~
レシピ1:カレントディレクトリ以下にある、最後の1文字が「~...
~
$ find . -name \*~ | xargs ls -la
-rw-rw-r-- 1 hanawa hanawa 29 Feb 19 18:23 ./c/test.c~
-rw-rw-r-- 1 hanawa hanawa 9 Feb 19 18:21 ./hogehoge.t...
ちなみに、このレシピは十分実用的な例です。xargsを利用して...
~
空白を含んだファイル名を扱いたいとき~
このようにxargsは便利なのですが、空白を含む文字列を扱おう...
~
$ find . -name \*~ | xargs rm
例えば、「Hello World.php~」というファイルがある場合に上...
~
rm: cannot remove `./Hello‘: No such file or directory
rm: cannot remove `World.php~’: No such file or directory
xargsコマンドは標準で空白文字(改行、スペース、タブなど)...
~
$ find . -name \*~ -print0 | xargs -0 rm
こうすると、findの出力がヌル文字(0×00、別の表現をすると”...
~
やっぱりxargsって便利ですね! ~
~
レシピ2:カレントディレクトリ以下にある、最後の1文字が「~...
~
$ find . -name \*~ -print0 | xargs -0 ls -la
-rw-rw-r-- 1 hanawa hanawa 29 Feb 19 18:23 ./c/test.c~
-rw-rw-r-- 1 hanawa hanawa 9 Feb 19 18:21 ./hogehoge.t...
-rw-rw-r-- 1 hanawa hanawa 20 Feb 19 18:24 ./php/Hello ...
-xargsでmvを実行したいとき~
さて、findで見つけたファイル全部をmvで/var/tmpに移動させ...
~
実は、そんなときのためにfindの-execオプションのような記法...
~
$ find . -name \*~ -print0 | xargs -0 -I{} mv {} /var/tmp
しかし、これで出来ることは出来たわけですが、あまり嬉しく...
~
じゃあどうすればいいんでしょうか。実は、GNU coreutilsのcp...
~
$ find . -name \*~ -print0 | xargs -0 mv -t /var/tmp
~
言うまでもありませんが、この例ではディレクトリ構造を維持...
終了行:
**引用元 [#afb8c089]
http://openlab.dino.co.jp/2008/02/20/133431188.html
**内容 [#ud15251c]
タイトルの通りですが、xargsコマンドの便利さを紹介する記事...
~
~
例えばfindで見つけたファイルを全部削除したい場合、xargsな...
~
$ rm `find . -name \*~`
しかし、これではヒットするファイル数が多すぎる場合に、下...
~
-bash: /bin/rm: Argument list too long
普段は意識しないと思いますけど、実はコマンド実行する際の...
~
一方で、同じ目的であれば下記のようにしても達成できます。 ~
~
$ find . -name \*~ -exec rm {} \;~
ただ、これだと100000ファイルがヒットした場合にrmコマンド...
~
一気に全部rmするにはファイル数が多すぎるけど、1つづつrmし...
~
$ find . -name \*~ | xargs rm
xargsを使った場合に上の2つの例とどう違うかというと、コマ...
~
以上を「レシピ」としてまとめると下記のようになります。 ~
~
レシピ1:カレントディレクトリ以下にある、最後の1文字が「~...
~
$ find . -name \*~ | xargs ls -la
-rw-rw-r-- 1 hanawa hanawa 29 Feb 19 18:23 ./c/test.c~
-rw-rw-r-- 1 hanawa hanawa 9 Feb 19 18:21 ./hogehoge.t...
ちなみに、このレシピは十分実用的な例です。xargsを利用して...
~
空白を含んだファイル名を扱いたいとき~
このようにxargsは便利なのですが、空白を含む文字列を扱おう...
~
$ find . -name \*~ | xargs rm
例えば、「Hello World.php~」というファイルがある場合に上...
~
rm: cannot remove `./Hello‘: No such file or directory
rm: cannot remove `World.php~’: No such file or directory
xargsコマンドは標準で空白文字(改行、スペース、タブなど)...
~
$ find . -name \*~ -print0 | xargs -0 rm
こうすると、findの出力がヌル文字(0×00、別の表現をすると”...
~
やっぱりxargsって便利ですね! ~
~
レシピ2:カレントディレクトリ以下にある、最後の1文字が「~...
~
$ find . -name \*~ -print0 | xargs -0 ls -la
-rw-rw-r-- 1 hanawa hanawa 29 Feb 19 18:23 ./c/test.c~
-rw-rw-r-- 1 hanawa hanawa 9 Feb 19 18:21 ./hogehoge.t...
-rw-rw-r-- 1 hanawa hanawa 20 Feb 19 18:24 ./php/Hello ...
-xargsでmvを実行したいとき~
さて、findで見つけたファイル全部をmvで/var/tmpに移動させ...
~
実は、そんなときのためにfindの-execオプションのような記法...
~
$ find . -name \*~ -print0 | xargs -0 -I{} mv {} /var/tmp
しかし、これで出来ることは出来たわけですが、あまり嬉しく...
~
じゃあどうすればいいんでしょうか。実は、GNU coreutilsのcp...
~
$ find . -name \*~ -print0 | xargs -0 mv -t /var/tmp
~
言うまでもありませんが、この例ではディレクトリ構造を維持...
ページ名: