我正在尝试将字符串设置在"([:alnum][:alnum][:alnum]" and ")"和字符串本身之间。事实上,我们的想法是清理被许多不需要的字符污染的文件。
例如,我有许多行的内容如下:

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 'NR > 1 {print $1}' RS='([[:alnum:]]*3' FS=')' $INPUT_FILE

最佳答案

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

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

正则表达式语法有一些问题,我已经纠正了。
-o选项只打印行的匹配部分。

关于linux - ([:alnum] [:alnum] [:alnum]和[:alnum]之间的gawk字符串提取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40803154/

10-13 07:34