sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename
Run Code Online (Sandbox Code Playgroud)
我期待这个sed脚本插入每行的字体中的选项卡,$filename但它不是.由于某种原因,它插入而不是..奇怪..
如何在sed的替换部分插入换行符?
此代码无效:
sed "s/\(1234\)/\n\1/g" input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
其中input.txt是:
test1234foo123bar1234
Run Code Online (Sandbox Code Playgroud)
和output.txt应该是:
test
1234foo123bar
1234
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个:
testn1234foo123barn1234
Run Code Online (Sandbox Code Playgroud)
注意:
这个问题具体是关于"sed"的Mac OS X版本,社区已经注意到它的行为与Linux版本不同.
当我尝试使用sed在OSX中插入新行时,我收到以下错误
在命令结尾处\后的额外字符
当前文件内容是
{
'localhost' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
}
Run Code Online (Sandbox Code Playgroud)
预期的内容是
{
'localhost' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
'dev.ops' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的命令是
sed -i '' "/localhost/a\ 'dev.ops' => ['domain_name' => 'default', 'domain_type' => 'web']," FILENAME
Run Code Online (Sandbox Code Playgroud)