読者です 読者をやめる 読者になる 読者になる

xargsについての覚え書きとかコマンドに関することとか

Linux

標準入力から引数を読み込み、指定のコマンドを実行するコマンド

-n1とかについて

find . -name "*.txt" | xargs -n1 cat
とやると、カレントディレクトリの下のすべてのテキストファイルを、見つかるたびに表示させることが出来ます。

a.txt
hoge/b.txt
hoge/fuga/c.txt

とあるとすると、上のコマンドは

cat a.txt
cat hoge/b.txt
cat hoge/fuga/c.txt

をやったのと同じことになります。

もし、-n1 をつけてないと

cat a.txt hoge/b.txt hoge/fuga/c.txt

と同じことになります。

なので、例えば、perl のスクリプトを書くときに、1個の引数しか取れないスクリプトを書いても、xargs -n1 を利用すればスクリプトを修正する必要がない!!

xargs その2 - なんか便利だったこと

最後の一文とかが重要っぽい。要するにperlで作るときにその辺考えなくってもいいってことですね。

-tオプション

argsが実行しているコマンドを表示する。

-Pオプション

並列処理をさせることができる。「-P3」とかやると3つの処理がいっぺんに。いくつか数えるのがあれなときは、「-P0」とかってやるとよいらしい。

echo

echo *

ってやるとディレクトリが表示できるのね。知らなかった。