我使用SED用破折号,以取代file.txt的每一行的第二个逗号( - ):为什么sed删除我的标题行?
this,is_the,header_row
a,1,2
b,1,2
c,1,2
while read line; do
sed 's/,/-/2' > file_new.txt
done < file.txt
预期输出:
this,is_the-header_row
a,1-2
b,1-2
c,1-2
我得到什么:
a,1-2
b,1-2
c,1-2
为什么sed删除我的标题行?
(道歉,如果这是一个重复的问题。搜索的 变化“的sed删除第一行”只返回的变化“如何删除第一行”)
GNU的bash,版本4.3.27(1) -release下(x86_64-苹果darwin13.4.0)
下面hek2mgl的答案是最正确的;这里有一个好处:如果你想从流中进入(例如通过'cat'),你可以这样做:'cat file.txt | sed's /,/ -/2'> file_new.txt' – zamnuts 2014-10-03 19:29:25