我在开头有一行空格,例如"Hello world".我想将此行插入文件中的特定行.例如,将"hello world"插入下一个文件
hello
world
Run Code Online (Sandbox Code Playgroud)
结果:
hello
hello world
world
Run Code Online (Sandbox Code Playgroud)
我正在使用这个sed脚本:
sed -i "${line} i ${text}" $file
Run Code Online (Sandbox Code Playgroud)
问题是我得到的新线路没有空格:
hello
hello world
world
Run Code Online (Sandbox Code Playgroud)
Atr*_*opo 77
您可以转义space
角色,例如添加2个空格:
sed -i "${line} i \ \ ${text}" $file
Run Code Online (Sandbox Code Playgroud)
或者您可以在text
变量的定义中执行此操作:
text="\ \ hello world"
Run Code Online (Sandbox Code Playgroud)
$ a=" some string "
$ echo -e "hello\nworld"
hello
world
$ echo -e "hello\nworld" | sed "/world/ s/.*/${a}.\n&/"
hello
some string .
world
Run Code Online (Sandbox Code Playgroud)
的.
是在上述取代加到证明尾随whitepsaces被保留。使用sed "/world/ s/.*/${a}\n&/"
来代替。