Da una lista files estrarne il contenuto via pipe con awk

Il problema è data una lista files estratta da operazioni di piping mostrarne il contenuto in modo da avere una sola riga di pipe.

Una possibile soluzione è utilizzare il comando awk con la sintassi system:

awk '{system("cat " $0)}'

Naturalmente, partendo da questa semplice istruzione, si possono aggiungere features e raffinare l'output.

Un difetto è che il nome del file non deve contenere spazi o separatori, ma si può risolvere usando il potente sed:

sed 's/\\ /\\\\\\ /g' | awk '{system("cat " $0)}'

Le versioni per DOS/Windows, reperibili su http://unxutils.sourceforge.net/ però hanno un funzionamento leggermente diverso per quanto riguarda l'uso degli apici per cui bisognerà utilizzare una sintassi del tipo:

sed "s/\\ /\\\\\\ /g"|gawk "{system(\\"type \\" $0)}"