Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
xargs コマンド 2015/05/13 ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。ファイル一覧でなくてもなんでもよい。 わかりづらいので、例として、カレントディレクトリの配下にある拡張子が .txt のファイルをすべて削除したいとする。 まずはfindコマンドでリストアップする。 $ find . -name "*.txt" この結果が以下のようだったとする。 foo.txt sub/bar.txt これらを削除するには $ rm foo.txt sub/bar.txt を実行すればよいが、findの結果が大量にある場合はrmコマンドを手で書くのは手間なので、 findの結果をそのままrmに渡したい。rmコマンドが標準入力からファイル名を受け取ってくれるならパイプでつなぐだけだが、残念ながらrmにはパラメータで渡す必要がある。こ
このドキュメントの内容は、以下の通りです。 はじめに Unix系OSでファイルを探す方法 findコマンドとほかのコマンドを連携する方法 xargs コマンド とは findとxargsの連携で問題になるケースとは findとxargsを組み合わせて失敗する例 スペースが含まれるファイル名を正しく扱う方法 まとめ はじめに 2018-05-03 に ページのタイトルはそのままですが、「真 UNIX findとxargsコマンドで-print0オプションを使う理由」として記事をアップデート致しました。 毎日やることの1つに、なにかを探すことが含まれます。インターネットで何かを調べていたり、作ったファイルやダウンロードしたファイルを探したりしています。ファイルを探すと同時に探したファイルに対して、何らかの変更を加えることもしばしばあります。 ファイルを検索とファイルの編集を一度にできたら、と思
複数ファイルをfindで取得してtarで解凍しようとおもったらうまくいかない find . -name "*.gz" | xargs tar xfどうやらtarは複数ファイルを受け付けないため、上記ではうまくいかない。 以下のようにすると複数ファイルが解凍できるようになった。 find . -name "*.tar.gz" -print0 | xargs -0 -n1 tar xfちなみにオプションの意味 find -print0 真を返す。ファイル名をフルパスで標準出力に表示し、各ファイル名に ヌル文字を付加する。このオプションを用いれば、 find の出力を処理 するプログラムにおいて改行文字を含んだファイル名を正しく解釈でき るようになる。 xargs --null, -0 標準入力からの文字列の区切りに、空白ではなくヌル文字が使われてい るとみなす。また引用符やバックスラッシュに特
タイトルの通りですが、xargsコマンドの便利さを紹介する記事を書いてみました。xargsは私が大好きなコマンドの一つで、標準入力から渡されたファイル名などを引数とみなして、別のコマンドの引数として起動するというものです。 例えばfindで見つけたファイルを全部削除したい場合、xargsなしでも下記のように書くことができます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く