gpt4 book ai didi

linux - 查找比特定列长/短的记录

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:45:33 25 4
gpt4 key购买 nike

这是我的文件:FILEABC.txt

Name|address|age|country
john|london|12|UK
adam|newyork|39|US|X12|123
jake|madrid|45|ESP
ram|delhi
joh|cal|34|US|788

我想找到文件中的 header 计数。所以我有这个命令

猫FILEABC.txt | awk --field-separator='|' '{打印 NF}' |排序-n |uniq -c

我得到的这个命令的结果是

猫FILEABC.txt | awk --field-separator='|' '{打印 NF}' |排序-n |uniq -c

  1 2
3 4
1 5
1 6

我的要求是,如何从我的文件中找到那些只有 2 个字段、4 个字段等的记录。例如,

如果想查看只有2列的记录:

 ram|delhi

如果想查看 rec 是否有超过 4 个 col:

adam|newyork|39|US|X12|123 

最佳答案

如果您只想打印具有 2 个字段的记录,那么以下内容可能对您有所帮助。

awk -F"|" 'NF==2'   Input_file

对于任何类型的记录,如果您需要超过 4 个字段的行,则将上述条件更改为 NF>4 或者您需要超过 5 个字段的行,例如--> NF>5

解释:通过执行 -F"|" 我确保字段分隔符在这里是管道,然后是 NF 是开箱即用的 awk 变量,它定义了一行中的总字段数,因此根据您的请求检查此处的字段数是否大于 2,如果此条件为 TRUE,则打印当前行(我没有写 print 因为 awk 工作在条件和 Action 的方法上,所以如果这里的条件为真,我没有提到任何 Action ,默认情况下,该行将发生 Action 打印).

关于linux - 查找比特定列长/短的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46971614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com