我想检查if列是否以Alphabet-Numeric-Alphabet(ABC45648DE)开头
我的意见
ABC45648DEF |GHJKK |23132331331|
ABC DEF |GHJKK |23132331331|
ABCGHHJJDEF |GHJKK |23132331331|
ABC89043DEF |GHJKK |23132331331|
输出应为:
ABC45648DEF |GHJKK |23132331331|
ABC89043DEF |GHJKK |23132331331|
我尝试使用这个“”“” awk -F'|' '($ 1!〜/ [A-Z0-9a-z] /)'WHTFile.txt> QC2Valid.txt “”“它无效。
非常感谢您的帮助。
答案 0 :(得分:0)
awk 解决方案:
awk -F'[[:space:]]*\\|' '$1~/^ABC[0-9]+DEF/' WHTFile.txt
输出:
ABC45648DEF |GHJKK |23132331331|
ABC89043DEF |GHJKK |23132331331|
答案 1 :(得分:0)
此解决方案有效:
awk '/^ABC[0-9]{5}DEF /' WHTFile.txt > QC2Valid.txt
它在每行的开头匹配“ABCxxxxxDEF”,其中“x”是一个数字。
如果需要任意数量的数字(且至少为1),则为脚本:
awk '/^ABC[0-9]+DEF /' WHTFile.txt > QC2Valid.txt
加号与示例中的1位或更多位相匹配。
如果ABC和DEF之间的数字是可选的,请尝试另外一个:
awk '/^ABC[0-9]*DEF /' WHTFile.txt > QC2Valid.txt
在这种情况下,星号匹配零个或多个数字。