Como posso escrever a palavra "gato" em todos os arquivos .txt de uma pasta?
command-line
scripts
Qubix
fonte
fonte
echo "cat" >> *.txt
?ambiguous redirect
Se os arquivos não estiverem vazios, você pode usá-lo
sed
sem fazer loop. Para adicionarcat
no início:Para adicionar no final:
Para adicionar após a segunda linha:
Para adicionar linhas antes com
foo
elas:Porém, ele não funciona em arquivos vazios. Tipo de bug.
(Para realmente gravar nos arquivos após o teste, você precisa da
-i
opçãosed -i 'a\cat' *.txt
:)fonte
sed
is my jam;)'i\cat'
usar a barra invertida em vez da barra?'icat'
ori cat
. A barra invertida é convencional, acredito. Você não pode usar forwardslash - será literalmente inseridaAbordagem Python:
sys
módulo para iterar sobre argumentos da linha de comandoO uso seria como
./add_cat.py *.txt
, que operaria em todos os.txt
arquivos no diretório de trabalho atual. A melhoria para isso pode incluir o uso do argumento nº 1 da linha de comando como string para escrever em vez de codificar "cat" lá.fonte