注文する
find /tmp -name 'core*' -type f -print0 | xargs -0
Linuxではうまく機能しますが、xargs -0
Solarisではオプションは許可されていません。
xargs
Solaris 10に対応するオプション(?)は何ですか?
2番目の質問:
構文を変更できますか?
find /tmp -name 'core*' -type f -print0 | xargs -0
したがって、LinuxとSolarisオペレーティングシステムの両方で動作します。
私はSolaris 10システムでこれを試しています。
find /tmp -name 'core*' -type f -print0 | xargs -0
xargs: illegal option -- 0
xargs: Usage: xargs: [-t] [-p] [-e[eofstr]] [-E eofstr] [-I replstr] [-i[replstr]] [-L #] [-l[#]] [-n # [-x]] [-s size] [cmd [args ...]]
答え1
-print0
findやxargsはどちらも-0
POSIXではなく、どこでも利用できない可能性があります。コマンド+
ターミネーターは-exec
POSIX の一部であり、同じことを行います。ここに例があります。
find /tmp -type f -name 'core*' -exec rm {} +
答え2
GNU拡張--print0
です。私は(ほぼ)完全なGNUツールバーをSolarisで使用できると思います(おそらくデフォルトではインストールされない可能性があるの-0
と同じ名前で)。gfind
ここSolaris環境をより楽しくするためにインストールする必要がある推奨ツールのリスト。
答え3
xargsの代わりにGNU Parallelを使用してください。
find /tmp -name 'core*' -type f -print | parallel echo
GNU Parallelのインストールには実際に10秒しかかかりません。
wget pi.dk/3 -qO - | sh -x
詳しくは、紹介ビデオをご覧ください。https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1