複数のスペースを追加するSed正規表現

複数のスペースを追加するSed正規表現

sedステートメントに複数のスペースを追加するためのきちんとした方法を探しています。ステートメントでリテラルスペースを使用することは有効です。

sed -i 's/this is a test/\n          and so is this/' test_file.txt

しかし、正規表現を使ってこれを行うより正確な方法があることを願っています。ありがとうございます!

答え1

bashまたはを使用すると、zsh次のように変数に必要な数のスペースを取得できます。

printf -v spc %10s
sed -i "s/this is a test/&\n${spc}and so is this/" test_file.txt

を使用すると、zsh次の操作も実行できます。

sed -i "s/this is a test/&\n${(l:10:)}and so is this/" test_file.txt

関連情報