チップス

linuxの xargs コマンドについて学ぶ 準備編


xargs コマンドって便利ですねぇ。
以前 xargs コマンドの使い方を覚える って、メモしました。
  
まだまだ、xargs コマンドの使い方を習得できていないので、再度 xargs コマンドについて学習です。
  
rm -f * なんてやると、引数が長すぎます みたいなエラーが出て、一気に沢山のファイルが削除できなくて困ってました。
xargs を使うと一気にファイルの削除が出来ます。
 
知っている人には当たり前、知らないおいらは遠回り...いつもの事で、知ってさえいれば時間短縮できますね。

  • man コマンドで xargs のヘルプを表示
  • man xargs | col -b > xargs_help.txt で出力したもの
  • iPhoneやタブレットなどで読めるように PDF ファイルにする。
  • $ u2ps xargs_help.txt -o wk.ps
    $ ps2pdf wk.ps xargs_man.pdf
    縮小版PDFも作成
    $ psnup -2 wk.ps wk2.ps
    $ ps2pdf wk2.ps xargsman.pdf
通常版PDF
yaji-001
通常版PDF

 
縮小版PDF
yaji-005
縮小版PDF

 
[box_b]xargs コマンドの使い方[/box_b]

XARGS(1L) XARGS(1L)

名前
xargs - 標準入力からコマンドラインを作成し、それを実行する

書式
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-
args] [-s max-chars] [-P max-procs] [--null] [--eof[=eof-str]]
[--replace[=replace-str]] [--max-lines[=max-lines]] [--interactive]
[--max-chars=max-chars] [--verbose] [--exit] [--max-procs=max-procs]
[--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command
[initial-arguments]]

説明
このマニュアルページは GNU 版 xargs に関して記述したものである。 xargs
は まず標準入力から空白または改行で区切られた文字列群を読み込む (空白は
ダブルクォーテーション・シングルクォーテーション・バックスラッシュに よ
ってプロテクトできる)。そして command (デフォルトは /bin/echo) に文字列
群を続けたコマンドラインを実行する。 initial-arguments が指定されていれ
ば 、 command と標準入力から渡された文字列の間に、 command への引き数と
して渡される。標準入力の空行は無視される。

xargs が終了するときの戻り値は以下の通り。

0 成功
123 command 実行のいずれかにおいて、 1-125 の戻り値が返った。
124 command が 255 を戻り値として返した。
125 command がシグナルによって kill された。
126 command が実行できない。
127 command が見つからない。
1 他のエラーが起こった。

オプション
--null, -0
標準入力からの文字列の区切りに、空白ではなくヌル文字が使われてい
るとみなす。また引用符やバックスラッシュに特別の意味を持たせず、
すべての文字をそのまま用いる。ファイル終了文字列も無効となり、他
の文字列と同じように扱われる。入力される文字列に空白・引用符・バ
ックスラッシュが含まれている場合に有用であろう。 GNU find の
-print0 オプションの出力を、このオプションを指定した xargs の入
力とすると良い。

--eof[=eof-str], -e[eof-str]
ファイル終了文字列を eof-str に設定する。入力にこのファイル終 了
文 字列が現れると残りの入力は無視される。 eof-str が省略された場
合、ファイル終了文字列は設定されない。このオプションが与えられな
かった場合は、デフォルトのファイル終了文字列は "_" となる。

--help xargs の利用法に関するまとめを表示して終了する。

--replace[=replace-str], -i[replace-str]
initial arguments の中の replace-str を、標準入力から読んだ名前
で置き換える。クォートされていない空白文字を文字列の区切りとみな
さ ない。 replace-str が省略された場合は、 "{}" がデフォルトの置
換文字となる (‘find -exec’ と同様)。自動的に -x と -l 1 が同時に
指定されたことになる。

--max-lines[=max-lines], -l[max-lines]
コ マンドラインあたり最大 max-lines の入力行 (空行以外) を用いる
。省略された場合のデフォルトは 1。入力行が空白文字で終っている場
合には、次の行に継続しているとみなされる。自動的に -x が同時に指
定されたことになる。

--max-args=max-args, -n max-args
コマンドラインあたり最大 max-args 個の文字列が用いられる。もしサ
イズが超過した場合には (-s オプションの項を見よ)、 max-args 以下
の文字列が用いられることになる。ただしこれは -x オプションが指定
さ れていない場合で、指定されている場合には xargs 自身が実行を終
了する。

--interactive, -p
コマンドライン毎に、実行するかどうかをユーザーにたずねるプロンプ
トを出し、端末から一行読み込む。返答が ‘y’ または ‘Y’ で始まって
いた場合のみ、そのコマンドラインを実行する。自動的に -t が同時に
指定されたことになる。

--no-run-if-empty, -r
標準入力に空行しか含まれていない場合、コマンドを実行しない。通常
は入力がない場合でもコマンドは一回実行される。

--max-chars=max-chars, -s max-chars
コマンドライン当たりに指定できる最大の文字数を max-chars に設 定
する。文字数にはコマンドと initial arguments、コマンドライン文字
列の最後を示すヌル文字も含まれる。デフォルトは 20 x 1024 文字 も
しくはシステムで可能な最大値。

--verbose, -t
実行する前に、コマンドラインを標準エラー出力に表示する。

--version
xargs のバージョンを表示して終了する。

--exit, -x
サイズが超過した場合 (-s オプションの項を見よ) 終了する。

--max-procs=max-procs, -P max-procs
一 時に実行するプロセスの最大数を max-procs に設定する。デフォル
トは 1。もし max-procs が 0 の場合は、 xargs は可能な限り多く の
プロセスを実行しようとする。 -n オプションは -P といっしょに用い
るようにすること。さもないと一回の実行しか行われない場合がある。

関連項目
find(1L), locate(1L), locatedb(5L), updatedb(1L)
Finding Files (on-line in Info, or printed)

XARGS(1L)


   チップス