Question

Ceci prend un répertoire comme paramètre:

#!/bin/bash

ls -l $1 |awk '$3!=$4{print $9}' 

Maintenant, ce dont j'ai besoin, c'est de pouvoir faire UN AUTRE ls -l sur les seuls fichiers trouvés dans l'instruction awk.

Oui, cela semble stupide, et je connais trois autres façons de le faire, mais pas avec awk.

Était-ce utile?

La solution

#!/bin/bash

ls -l $1 | awk '$3!=$4{ system( "ls -l '$1'/" $9}' 

Autres conseils

Utilisez la commande système awk:

ls -l $1 |awk '$3!=$4{system("ls -l " $9)}'

La commande à utiliser est xargs.

man xargs

devrait donner quelques indices.

S'il est permis d'ajuster le premier code générique, vous pouvez essayer de faire:

ls -ld "$1"/* |awk '$3!=$4{print $9}' | xargs ls -l

Dans ce cas, ls -l préfixera le répertoire.Mais je ne sais pas s'il s'agit d'un comportement portable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top