我正在尝试使用OSX sed在文件的开头添加带有一些字符串(DEFAULT ''
)的新行。
现在,我可以对常见的文本和数字执行此操作。但是对于符号来说,它是行不通的。
\mu
这将添加sed -i -e '1s/^/\\mu/' file
,而不添加mu
。
答案 0 :(得分:0)
我在达尔文17.7.0(OSX 10.13.6(我认为是最新的Xtools))上执行了sed -i -e '1s/^/\\mu/' ./file
。
我确实注意到,针对该命令的不同变体生成重复文件是异常的。让我解释一下,
sed -i -e 's/^/\\mu/' ./tmp.txt
即在每个新行上放置“ \ mu”。 在文件“ tmp.txt”中输出,
\mulease 192.168.234.5 {
\mu starts 3 2018/11/21 18:53:11;
\mu ends 3 2018/11/21 18:54:11;
\mu tstp 3 2018/11/21 18:54:11;
\mu cltt 3 2018/11/21 18:53:11;
etc...
如果我执行所需的命令,
sed -i -e '1s/^/\\mu/' ./tmp.txt
在文件“ tmp.txt”中输出
\mulease 192.168.234.5 {
starts 3 2018/11/21 18:53:11;
ends 3 2018/11/21 18:54:11;
tstp 3 2018/11/21 18:54:11;
cltt 3 2018/11/21 18:53:11;
...etc
现在,旧文件“ tmp.txt”已复制并变为“ tmp 3.txt”,而最新版本的tmp.txt已被正确编辑。在文件名中引入空格并不酷('tmp 3.txt),为什么要从3开始? 希望对您有所帮助。