([:alnum] [:alnum] [:alnum]和[:alnum]之间的gawk字符串提取

时间:2016-11-25 10:47:22

标签: linux awk gawk

我试图在"([:alnum][:alnum][:alnum]" and ")"和字符串本身之间获取字符串。实际上,这个想法是清理被许多不需要的char污染的文件。

例如,我有很多行,例如:

bÖÓÄÉ@@@@ø16/11/2016 15H03'09" (ACTA/BN940-RYR71ND/A4067-LIPH-NILDU/1513F270-LEBL-9/B738/M-80/S-81/W/EQ Y/EQ)   ø     ZZZZtA$bÖÓÄÉ

我想要这种输出:

(ACTA/BN940-RYR71ND/A4067-LIPH-NILDU/1513F270-LEBL-9/B738/M-80/S-81/W/EQ Y/EQ)

我试过这个gawk命令,但它根本不起作用:

gawk 'NR > 1 {print $1}' RS='([[:alnum:]]*3' FS=')' $INPUT_FILE

1 个答案:

答案 0 :(得分:3)

这看起来像是GNU grep的标准用法:

grep -o '([[:alnum:]]\{3\}.*[[:alnum:]])' file

您的正则表达式语法存在一些问题,我已经更正了。

-o选项仅打印该行的匹配部分。