Domanda

Questo prende una directory come parametro:

#!/bin/bash

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

Ora ciò di cui ho bisogno è essere in grado di fare un altro ls -l Sul solo file che si trovano dall'istruzione AWK.

Sì, sembra stupido e conosco altri 3 modi per farlo, ma non con Awk.

È stato utile?

Soluzione

#!/bin/bash

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

Altri suggerimenti

Usa il comando di sistema AWK:

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

Il comando da usare è xargs.

man xargs

dovrebbe dare alcuni indizi.

Se è consentito regolare il primo ls -l potresti provare a fare:

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

In questo caso ls Prefisterà la directory. Ma non so se questo è un comportamento portatile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top