`Solaris + xargs 명령(Solaris용)

`Solaris + xargs 명령(Solaris용)

주문하다

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

Linux에서는 잘 작동하지만 xargs -0Solaris에서는 옵션이 허용되지 않습니다.

xargsSolaris 10에 해당하는 옵션(?)은 무엇입니까?

두 번째 질문:
구문을 변경할 수 있습니까?

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

관련 정보