我有一个包含两列的文件,并且仅当在第二列中找不到确定的模式时才想打印第一列,该文件可以是例如:
3 0.
5 0.
4 1.
3 1.
10 0.
Run Code Online (Sandbox Code Playgroud)
并且我想仅在第二个文件中没有数字 1. 时才打印第一列中的值,即
3
5
10
Run Code Online (Sandbox Code Playgroud)
我知道要打印我可以使用的第一列
awk '{print $1}' fileInput >> fileOutput
Run Code Online (Sandbox Code Playgroud)
是否有可能在某个地方有一个 if 块?
一般来说,你只需要指明你不想匹配的模式:
awk '! /pattern/' file
Run Code Online (Sandbox Code Playgroud)
在这种特定情况下,您要打印第 2 列不是“1”的行的第 1 列,您可以说:
$ awk '$2 != "1." {print $1}' file
3
5
10
Run Code Online (Sandbox Code Playgroud)
当条件完成时,{print $1}将执行,这样您将拥有文件的第一列。