Ωlo*_*stA 1 regex terminal replace sed command-line-interface
我尝试在正则表达式中混合两个条件并且没有成功...
,当行包含三个条件时,我想删除一个:
- 以第二个逗号中的,
- 包含开头- ,,,在行中总共
计算9逗号
要更改的行的示例:
=> ,BRQSSQDFACKE JURFSDFGEN,,,Vitsasdfaan, 11,9660,LOCHRISTI,BELGIË,NL
=> SCURTUSDF,Daniqsdel,Mr.,Tombqsdqfsdferg, Rodqsdfqsfqst, 17,4000,SANKT VITH,BELGIQUE,FR
Run Code Online (Sandbox Code Playgroud)
更改行的结果:
=> ,BRQSSQDFACKE JURFSDFGEN,,Vitsasdfaan, 11,9660,LOCHRISTI,BELGIË,NL
=> SCURTUSDF,Daniqsdel,Mr.,Tombqsdqfsdferg, Rodqsdfqsfqst, 17,4000,SANKT VITH,BELGIQUE,FR
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但它不完整......
sed '/^\([^,]*,\)\{9\}[^,]*$/s/,//2'
Run Code Online (Sandbox Code Playgroud)
awk 由于逗号分隔输入中的多个条件,因此更适合此作业.
你可以使用:
awk -F, 'NF == 10 && $1 $3 $4 == "" {sub(/,,,/, ",,")} 1' file
Run Code Online (Sandbox Code Playgroud)
,BRQSSQDFACKE JURFSDFGEN,,Vitsasdfaan, 11,9660,LOCHRISTI,BELGIË,NL
SCURTUSDF,Daniqsdel,Mr.,Tombqsdqfsdferg, Rodqsdfqsfqst, 17,4000,SANKT VITH,BELGIQUE,FR
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |