sedを使用して変数の行番号を変更する

sedを使用して変数の行番号を変更する

これは私のsedコマンドです:

while ...;
do sed -r "${counter}s/^\S+ /$line /g" $in > $out;
..
..
done

残念ながら、このコマンドはbashスクリプト/ループ内で呼び出されると何もしません。したがって、変数が正しい方法で解析されたことを確認したいと思います。

do echo ´sed -r "${counter}s/^\S+/$line/g" $in > $out´;

以下をコンソールに印刷します。

sed -r <line number>/^\S+/<replace pattern>/g <infile> > <outfile>

( なし)コンソールでこのコマンドを実行すると、次の結果が表示されます。

sed: -e expression #1, char 8: unterminated s' command

'周りにパターンがなくてそういう気がします。

それでは、bashスクリプトから呼び出すときに二重引用符(sedコマンドで変数を解析するために使用されます)と一重引用符(検索/置換パターンを完了するために使用されます)をどのように組み合わせますか?

答え1

まあ、変です。出力ファイルへのリダイレクトは発生せず、少なくとも予想される置換は発生しません。cp <infile> <outfile>Next sed 置換コマンドを使用する A所定の位置に奇跡的に動作します。

ご協力ありがとうございます!

関連情報