Comando de redirecionamento e saída para um arquivo [duplicado]

0

Comandos executados:

    cat a1.txt | grep a | wc -l >> a.txt
    cat b.txt | grep a | wc -l >> a.txt
    cat c.txt | grep a | wc -l >> a.txt

Eu quero contar e o comando para anexar a.txt.

como

Saída de arquivo esperada: Suponha que 100,200,300 sejam contagens.

cat a1.txt | grep a | wc -l  100
cat b.txt | grep a | wc -l 200
cat c.txt | grep a | wc -l  300
    
por Gops AB 20.10.2016 / 19:43

1 resposta

0

Ou

  1. use o comando script para capturar o terminal e edite os resultados ou

  2. 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
    
por glenn jackman 20.10.2016 / 20:03