ler variável de um arquivo e passá-lo para sed

1

Eu tenho dois arquivos: unknown.csv contains

aaa
bbb
ccc

e outro arquivo 01.txt as

;lksdjflk aaa lkdsfjdlk
aaa|xxlkjasd|
    |sadkl;k|lsa;dkl

quando defino uma variável como j=aaa e tento

sed "s/${j}//g" 01.txt

encontrará ocorrências de aaa e removê-lo. Mas se eu tentar ler o j do unknown.csv como

j=$(sed '1q;d' unknown.csv)

e tente

sed "s/${j}//g" 01.txt

nada acontece. echo $j para ambos os casos mostra o mesmo resultado de aaa .

O objetivo é ler uma variável do arquivo unknow.csv e usá-la para substituí-la no arquivo 01.txt .

Obrigado

    
por Danial Rahmani 06.08.2018 / 21:39

1 resposta

4

Você criou o arquivo unknown.csv no Windows? Em caso afirmativo, provavelmente contém caracteres de retorno de carro.

Tente

(set -x; echo "$j" )

para mostrar o valor de $j .

Se você quiser apenas a linha 1 e não '\ r' no final, use

sed -nr '1s/\r?$//p' unknown.csv
    
por 06.08.2018 / 21:49

Tags