Ara*_*ash 4 bash shell awk bash-scripting
如何选择出现 4 次或更多的 ip,例如这里?
输入文件是
192.168.1.28
192.168.1.100
192.168.1.31
192.168.101.2
192.168.1.31
192.168.11.02
192.168.1.31
192.168.1.28
192.168.1.28
192.168.1.31
192.168.21.31
192.168.1.28
192.168.1.31
Run Code Online (Sandbox Code Playgroud)
然后我想得到这个输出:
192.168.1.28
192.168.1.31
Run Code Online (Sandbox Code Playgroud)
首选使用 AWK
谢谢你们!:)
如果你结合妮可汉密尔顿的答案,gawk你会得到(对于出现 4 次或更多的行):
sort iplist.txt | uniq -c | gawk '$1>=4{print $2}'
Run Code Online (Sandbox Code Playgroud)
正好四次做:
sort iplist.txt | uniq -c | gawk '$1==4{print $2}'
Run Code Online (Sandbox Code Playgroud)
将 更改为4您感兴趣的任何数字。
让我们假设一个名为iplist.txt. 尝试这个:
sort iplist.txt | uniq -d
Run Code Online (Sandbox Code Playgroud)
这是运行它时的样子。我特意添加了第三次出现的 IP 地址,192.168.1.28因此您可以看到只有出现 2次或更多次的行才会在输出中列出,每个重复的行只显示一次。
bash-4.1$ cat iplist.txt
192.168.1.28
192.168.1.100
192.168.1.31
192.168.101.2
192.168.11.02
192.168.1.31
192.168.21.31
192.168.1.28
192.168.1.28
bash-4.1$ sort iplist.txt | uniq -d
192.168.1.28
192.168.1.31
bash-4.1$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6541 次 |
| 最近记录: |