我在文本文件中有以下数据:
Name,7/27,7/28,7/29,7/30,7/31,8/1,8/2,8/3,8/4
abc,5,3,8,8,0,0,2,0,11
def,6,7,0,0,0,0,0,2,5
ghi,1,3,5,2,0,0,5,3,6
Run Code Online (Sandbox Code Playgroud)
我需要找出哪个文件(文件名的“名称”列)给出了 5 个连续0
的输出。在这个例子中,那将是def
.
ter*_*don 16
我可能会在 中这样做awk
,,
用作分隔符:
$ awk -F, '/,0,0,0,0,0/{print $1}' file
def
Run Code Online (Sandbox Code Playgroud)
但是,这也会捕捉到这样的一行:
mno,6,7,0,0,0,0,0.5
Run Code Online (Sandbox Code Playgroud)
为避免这种情况,仅当最后一个0
后跟 a,
或行尾时才匹配:
awk -F, '/,0,0,0,0,0(,|$)/{print $1}' file
Run Code Online (Sandbox Code Playgroud)