Como criar um arquivo ou pasta e ao mesmo tempo gravá-lo no arquivo .sh [closed]

1

Como criar um arquivo ou pasta e, ao mesmo tempo, gravá-lo no arquivo .sh?

Por exemplo: contagem de palavras para um arquivo, grave essas informações em um novo arquivo e salve-o no arquivo .sh ao mesmo tempo.

Eu tentei:

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

me daria a contagem de palavras para o nome do arquivo na pasta, mas no arquivo sh ele me daria o que está nas aspas.

    
por user251427 23.02.2014 / 15:48

2 respostas

3

O Echo imprime tudo o que você citou, literalmente. Então

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

Deve anexar este texto ao final de ToThefilename.sh

% bl0ck_qu0te%

Se você quiser gravar a saída de wc filaname.txt em "ToThefilename.sh", basta fazer wc filename.txt >>ToThefilename.sh . Então, se eu fizer wc examples.desktop > foo.txt , então foo.txt conterá os resultados desse comando:

amanda@mona:~$ cat foo.txt 
 240  569 8980 examples.desktop

se você quiser apenas manter um registro das coisas que você fez ou com filename.txt , você pode fazer history | grep filename.txt > ToThefilename.sh

Se não é isso que você está tentando realizar, por favor, esclareça sua pergunta! Para fazer algo mais complexo, você provavelmente precisará escrever um script de shell que aceite a entrada e faça algumas coisas diferentes com ele.

    
por Amanda 23.02.2014 / 16:19
1

Você pode fazer isso com tee e uma substituição de processo:

echo 'wc filename.txt' | tee >(bash > ./folder/newfilename.txt) >> ToThefilename.sh

A substituição do processo age como um arquivo para o comando tee. tee irá canalizar a saída do comando echo para o arquivo e para stdout (onde o redirecionamento o anexa ao script). o bash lerá o comando em seu stdin

    
por glenn jackman 23.02.2014 / 19:17