xargs não funciona no Linux como funciona no Unix

1

Estou usando o seguinte comando para listar a permissão, proprietário dos pontos de montagem no unix:

bdf|awk '{print $6}'|grep -v Mounted|xargs ll -d

Este comando no HP-Ux me fornece uma saída como abaixo:

drwxr--r--  61 root       root          8192 Jan  1 2014 /
drwxr--r--  102 root       root          8192 Jan  1 2014 /home

Mas no Linux este comando:

df -hP|grep -v Mounted|awk '{print $6}'|xargs 'll -d'

apresenta um erro:

xargs: ll -d: No such file or directory

Por favor ajude.

Atenciosamente,

Sam G

    
por Sam G 01.08.2017 / 15:48

1 resposta

4

A raiz do erro é que você citou ll -d nos argumentos para xargs. O xargs está tentando executar um arquivo chamado ll -d , que não pode ser encontrado em nenhum lugar do caminho. Se você remover as aspas, o comando provavelmente funcionará. No entanto, se ll for um alias em vez de um comando no PATH, talvez seja necessário usar ls diretamente:

df -hP | grep -v Mounted | awk '{print $6}' | xargs ls -ld

Se você tiver pontos de montagem que incluam espaços, sua análise de df não levará em conta isso.

    
por 01.08.2017 / 15:56

Tags