msoliver escreveu:
Mauricio, o comando:
"sed '1!d' arquivo1.txt" , retorna a linha, mas, a descrição do comando é: sed '1!d' arquivo1.txt = DELETA TUDO, MENOS a LINHA 1.
sed '1d' arquivo1.txt => APAGA a LINHA 1 Ou NãO MOSTRA A LINHA 1
Usando sinal "!", que é de NEGAÇÃO, o COMANDO É INVERTIDO
O Termo "DELETA" que usei, está errado, o mais apropriado é MOSTRA SOMENTE a LINHA 1.
entendi ... mas tem algo q não se encaixa nessa porcaria ... se a princípio todos os 2 comandos teria o mesmo resultado ... pq com 1 a bagaça funciona e com o outro não ????
mauricio@Phanthom ~ $ sed "s/$(sed '1!d' arquivo1.txt)/$(sed '1!d' arquivo2.txt)/" arquivo1.txt
bash: !d': event not found
mauricio@Phanthom ~ $ sed "s/$(sed -n '2p' arquivo1.txt)/$(sed -n '2p' arquivo2.txt)/" arquivo1.txt
linha 1 do arquivo 1
linha 2 do arquivo 2
linha 3 do arquivo 1
linha 4 do arquivo 1
linha 5 do arquivo 1
linha 6 do arquivo 1
linha 7 do arquivo 1
mauricio@Phanthom ~ $ sed "s/$(sed '2!d' arquivo1.txt)/$(sed '2!d' arquivo2.txt)/" arquivo1.txt
bash: !d': event not found
mauricio@Phanthom ~ $ sed '2!d' arquivo1.txt
linha 2 do arquivo 1
mauricio@Phanthom ~ $ sed '2!d' arquivo2.txt
linha 2 do arquivo 2
mauricio@Phanthom ~ $
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"