我正在尝试删除与模式匹配的常量字符串。我可以通过awk匹配模式,是否有awk和sed的组合,或者只是awk可以删除字符串到位?
示例:
我需要匹配14日,15日和16日“|”符号并删除其间的内容。
之前:
00000000,003377fdh,,BLUE,YELLOW,ORANGE,UANGTANG,||57000000|1250000000|2|ramp|CAR|||||||24000|11000|apples,12-15-2017
后:
00000000,003377fdh,,BLUE,YELLOW,ORANGE,UANGTANG,||57000000|1250000000|2|ramp|CAR||||||,12-15-2017
答案 0 :(得分:0)
awk -F '|' -v 'OFS=|' '{$13 = $16; NF -= 3; print}' file
或
perl -F'\|' -ne 'splice(@F, 12, 3); print join("|", @F)' file
答案 1 :(得分:0)
你也可以试试这个sed
sed -E 's/(([^|]*\|){3})//5' infile