在使用sed命令的Mac OSX上,换行符\ n在shell中不起作用

问题描述 投票:0回答:3

我必须在特定行号的现有csv中添加一个新行。我正在使用以下命令

sed -i '' '3i\
Line to add in csv\n' data.csv

但是它将行添加为Line以添加到csvn中

bash shell sh
3个回答
1
投票

在shell中\n没有特别的意义,它只是意味着文字n。代替:

sed -i '' '3i\
Line to add in csv\
' data.csv

1
投票

只需使用:

sed -i '' '3i\
Line to add in csv\
' data.csv

不适合使用\n使用相同的语法处理这个更好的时间比 Ex:

perl -i -pe 's///' file

(换人)


0
投票

使用命令获得乐趣( ancestor):

档案:

$ cat file
a
b
c
d
e
f

命令:

$ ed -s file<<EOF
3i
Line to add in csv
.
wq
EOF

编辑文件:

$ cat file
a
b
Line to add in csv
c
d
e
f
© www.soinside.com 2019 - 2024. All rights reserved.