我试图使用awk检索文本的第四列,在文件的第二行有一个标准,但是我得到一个空值作为输出。
这是我的输入文件内容第一行:xxxx…
问题是 * 是正则表达式中的特殊字符。 /HP*IRX/ 将匹配“H”后跟 零或更多“P” 其次是“IRX”
*
/HP*IRX/
你要
awk -F'*' '$2 == "HP" && $3 == "IRX" {print $5}'
或者,如果你真的想要一个正则表达式
awk -F'*' '/\*HP\*IRX\*/ {print $5}'
我放了一个 \* 在前面所以你不匹配一条线 fooHP*IRX
\*
fooHP*IRX