ファイルから変数を読み取り、sedに渡します。

ファイルから変数を読み取り、sedに渡します。

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

おすすめ記事