두 개의 파일이 있습니다: unknown.csv
포함
aaa
bbb
ccc
또 다른 파일 01.txt
은
;lksdjflk aaa lkdsfjdlk
aaa|xxlkjasd|
|sadkl;k|lsa;dkl
변수를 다음과 같이 정의하고 j=aaa
시도 하면
sed "s/${j}//g" 01.txt
찾아서 aaa
삭제하겠습니다. 하지만 내가 다음과 같이 j
읽으 려고하면unknown.csv
j=$(sed '1q;d' unknown.csv)
그리고 시도해 보세요
sed "s/${j}//g" 01.txt
아무 일도하지. echo $j
두 경우 모두 동일한 결과가 표시됩니다 aaa
.
목표는 파일에서 변수를 읽고 파일의 변수를 unknow.csv
해당 변수로 바꾸는 것입니다.01.txt
감사해요
답변1
Windows에서 알 수 없는.csv 파일을 생성하셨나요? 그렇다면 캐리지 리턴이 포함될 수 있습니다.
노력하다
(set -x; echo "$j" )
값을 표시합니다 $j
.
라인 1만 원하고 끝에 '\r'이 없으면 다음을 사용하십시오.
sed -nr '1s/\r?$//p' unknown.csv