Ou
-
use o comando
script
para capturar o terminal e edite os resultados ou -
armazena o comando em uma variável e depois avalia o comando:
cmd='cat a1.txt | grep a | wc -l' printf "%s\t%s\n" "$cmd" "$(eval "$cmd")" >> a.txt
Generalizando isso:
print_and_do() { local cmd="$1"; printf "%s\t%s\n" "$cmd" "$(eval "$cmd")"; } { print_and_do "cat a1.txt | grep a | wc -l" print_and_do "cat b.txt | grep a | wc -l" print_and_do "cat c.txt | grep a | wc -l" } >> a.txt
Você está ciente de que cat a1.txt | grep a | wc -l
pode ser escrito como:
grep -c a a1.txt