是否有可能将这些组合在一条线上,以便更加高效.
awk '$4 ~/^[x]/' raw.txt > x_raw.txt
awk '!/y/' x_raw.txt > xy_raw.txt
Run Code Online (Sandbox Code Playgroud)
这可能与perl有关吗?
您不需要切换到perl来执行逻辑运算,只需使用运算符即可&&.以下打印第四个字段开头x的行,该行不包含y:
awk '$4~/^x/&&!/y/' raw.txt > xy_raw.txt
Run Code Online (Sandbox Code Playgroud)