'comando solaris + xargs para solaris

2

o comando

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

funciona bem no Linux, mas a opção xargs -0 não é legal no Solaris

qual é a opção equivalente ( xargs ?) para o Solaris 10

segunda pergunta:
é possível alterar a sintaxe:

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

Por isso, vai caber tanto para OS - Linux e Solaris

Eu experimento minha máquina 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 ...]]
    
por yael 07.03.2013 / 14:29

3 respostas

5

Tanto o -print0 para localizar como o -0 para xargs não são POSIX e podem não estar disponíveis em todo o lado. O terminador de comando + para -exec faz parte do POSIX e realizará a mesma tarefa. Aqui está um exemplo.

find /tmp -type f -name 'core*' -exec rm {} +
    
por 07.03.2013 / 14:58
1

As --print0 e -0 são extensões GNU. Acredito que o conjunto (quase) completo de ferramentas GNU está disponível para o Solaris (talvez sob nomes como gfind , provavelmente não instalado por padrão).

Aqui é uma lista de ferramentas sugeridas para instalar o Solaris. experiência mais agradável.

    
por 07.03.2013 / 20:24
0

Use o GNU Parallel no lugar de xargs:

find /tmp -name 'core*' -type f -print | parallel echo

Leva literalmente 10 segundos para instalar o GNU Parallel:

wget pi.dk/3 -qO - | sh -x

Assista aos vídeos de introdução para saber mais: link

    
por 20.04.2013 / 00:37