shell 查找文本内容??
时间:2011-07-02
来源:互联网
一个IP.TXT 文本内容如下:
192.168.0.7
192.168.0.6
192.168.0.10
192.168.0.19
192.168.0.7
192.168.0.19
192.168.0.10
192.168.0.6
192.168.0.7
192.168.0.7
。。。。。。。。
请教:如何用shell for 查找的时候,自动跳过文本内重复的IP,输出只显示一个获取到的IP结果。
例如: 192.168.0.7 这个IP在文本上出现4次,用 for 的时候如何跳过。。结果只要显示出一个IP地址。。echo 直接输出 192.168.0.7 。
不要全部输出取到的同样重复的IP
ThankS
192.168.0.7
192.168.0.6
192.168.0.10
192.168.0.19
192.168.0.7
192.168.0.19
192.168.0.10
192.168.0.6
192.168.0.7
192.168.0.7
。。。。。。。。
请教:如何用shell for 查找的时候,自动跳过文本内重复的IP,输出只显示一个获取到的IP结果。
例如: 192.168.0.7 这个IP在文本上出现4次,用 for 的时候如何跳过。。结果只要显示出一个IP地址。。echo 直接输出 192.168.0.7 。
不要全部输出取到的同样重复的IP
ThankS
作者: xqf 发布时间: 2011-07-02
楼主只是想剔重吗?
awk '{a[$1]=$1}END{for(i in a) print a[i]}' file
awk '{a[$1]=$1}END{for(i in a) print a[i]}' file
作者: 251995427 发布时间: 2011-07-03
- cat file | sort | uniq
作者: liion631818 发布时间: 2011-07-03
多谢了。。
作者: xqf 发布时间: 2011-07-03
一种纯bash的方法:
复制代码
#注:此方法学习自springwind426 (春之风):原帖,这里展示给大家共同学习下
- $ echo '192.168.0.7
- 192.168.0.6
- 192.168.0.10
- 192.168.0.19
- 192.168.0.7
- 192.168.0.19
- 192.168.0.10
- 192.168.0.6
- 192.168.0.7
- 192.168.0.7' |\
- while read line
- do
- [[ ${str/:$line} == ${str} ]] && echo $line && str=$str":"$line
- done

作者: yinyuemi 发布时间: 2011-07-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28