sedを使用せずに行の先頭に変数を追加する

sedを使用せずに行の先頭に変数を追加する

テキストファイルがあり、行の先頭に文字列を追加したいのですが、特殊文字があり、sedはそれについて文句を言います。

私が受け取った警告は次のとおりです。

sed: 1: "s/^/curl curliian.bxss ...": bad flag in substitute command: 'b'

だから私はこの点から抜け出そうとしています。

dirnamer="$(dirname $1 | sed 's/\./\\./g')"

これがダメだから脱出をしようとするのにbそれもダメだったんですよ。はい、今私がしていることは次のとおりです。

sed -i '' "s/^/curl $dirnamer/g" ~/desktop/download

ところでsedは特殊文字のため問題が多いようです。これを行うより良い方法は何ですか?

答え1

この awk コマンドはうまく動作します。

awk '{print "curl $dirnamer|" $0;}'

または、以前に変数を使用してこれを行います。

sed 's/\/b/\\b/g' | sed 's/\/t/\\t/g'

関連情報