|
|
1
5
您不需要将第二个分号括在括号中,只需将其用作
正如您所注意到的,当它找到一对分号时,它会用所需的字符串替换它,然后跳过它,而不是再次读取第二个分号,这会使它插入
一种解决方案是使用正面的表情;这个
但可以使用
该命令简单如下:
它复制上一个命令,并使用
更新: OP在评论中询问 “如果我的文件有100列怎么办?” 让我们看看它是否有效:
看,妈妈!它起作用了! :-) 更新#2
我忽略了这样一个事实,即这个问题不需要替换
正如OP在评论中友好地补充的那样
或(为了可读性):
两个附加步骤将替换“;”当他们在行头或行尾找到它时。 |
|
2
3
你可以用这个
或使用
查找正则表达式
在一个
|
|
3
2
主要问题是,不能在单个替换中使用多次相同的字符:
如果您想使用sed而不使用类似Perl的正则表达式模式,则可以使用带有条件命令的循环
对于
|
|
4
1
这款awk one liner可以满足您的需求:
如果你真的想要这行:
|
|
5
1
概念:
|
|
|
6
1
这可能适用于您(GNU sed):
有4种情况下可能出现空字段:在记录的开头、两个字段分隔符之间、空字段后面和记录的结尾。可以采用交替来满足senario 1、2和4,senario 3可以通过使用环路的第二次传递来满足(
|