2つのファイルがあります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