`Solaris + xargsコマンド(Solaris用)

`Solaris + xargsコマンド(Solaris用)

注文する

find /tmp -name 'core*' -type f -print0 | xargs -0

Linuxではうまく機能しますが、xargs -0Solarisではオプションは許可されていません。

xargsSolaris 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

-print0findやxargsはどちらも-0POSIXではなく、どこでも利用できない可能性があります。コマンド+ターミネーターは-execPOSIX の一部であり、同じことを行います。ここに例があります。

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

関連情報