如何\n使用sed命令替换换行符()?
我没试成功:
sed 's#\n# #g' file
sed 's#^$# #g' file
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
我正在尝试在bash脚本中的文本文件中间添加一行文本.具体来说,我正在尝试将名称服务器添加到我的/etc/resolv.conf文件中.就目前而言,resolv.conf看起来像这样:
# Generated by NetworkManager
domain dhcp.example.com
search dhcp.example.com
nameserver 10.0.0.1
nameserver 10.0.0.2
nameserver 10.0.0.3
Run Code Online (Sandbox Code Playgroud)
我的目标是添加nameserver 127.0.0.1上面所有其他名称服务器行,但低于上面的任何文本.最后我想将我的resolve.conf文件看起来像这样:
# Generated by NetworkManager
domain dhcp.example.com
search dhcp.example.com
nameserver 127.0.0.1
nameserver 10.0.0.1
nameserver 10.0.0.2
nameserver 10.0.0.3
Run Code Online (Sandbox Code Playgroud)
这怎么可能通过bash脚本?这是sed还是awk可以做的事情?或者创造性的greping重新创建文件是我最好的举动?
I have an input C file (myfile.c) that looks like this :
void func_foo();
void func_bar();
//supercrazytag
Run Code Online (Sandbox Code Playgroud)
I want to use a shell command to insert new function prototypes, such that the output becomes:
void func_foo();
void func_bar();
void func_new();
//supercrazytag
Run Code Online (Sandbox Code Playgroud)
So far I've been unsuccessful using SED or PERL. What didn't work:
sed 's|\n\n//supercrazytag|void func_new();\n\n//supercrazytag|g' < myfile.c
sed 's|(\n\n//supercrazytag)|void func_new();\1|g' < myfile.c
Run Code Online (Sandbox Code Playgroud)
Using the same patterns with perl -pe "....." didn't work either.
What am I missing ? I've …