Sed 正则表达式添加多个空格

Sed 正则表达式添加多个空格

我正在寻找一种干净的方法来向 sed 语句添加多个空格。在语句中使用文字空格是有效的:

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

但我希望有一种更精确的方法来使用正则表达式来完成此任务。谢谢!

答案1

使用bashor 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

相关内容