Pregunta

Esto toma un directorio como parámetro:

#!/bin/bash

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

Ahora lo que necesito es poder hacer otro ls -l En los archivos que se encuentran desde la declaración AWK.

Sí, suena tonto, y sé como otras 3 formas de hacer esto, pero no con AWK.

¿Fue útil?

Solución

#!/bin/bash

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

Otros consejos

Use el comando del sistema AWK:

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

El comando para usar es xargs.

man xargs

debería dar algunas pistas.

Si se le permite ajustar el primero ls -l Podrías intentar hacer:

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

En este caso ls prefijo el directorio. Pero no sé si este es un comportamiento portátil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top