Linux 在工作中的实用命令

# 以下是文件内容,
$ code cat ./test.txt
https://blog.csdn.net/weixin_44597836/article/details/106068197?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.pc_relevant_paycolumn_v2&spm=1001.2101.3001.4242.2&utm_relevant_index=4
https://blog.csdn.net/hijiankang/article/details/70792456?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&utm_relevant_index=1
https://www.baidu.com/s?ie=UTF-8&wd=uniq%20-c

http://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=baidu&wd=Linux%E7%BB%9F%E8%AE%A1%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%AC%A1%E6%95%B0&oq=%25E7%25BB%259F%25E8%25AE%25A1%25E5%2590%258C%25E4%25B8%2580%25E4%25B8%25AA%25E7%2594%25A8%25E6%2588%25B7%25E6%259C%2580%25E8%25BF%2591%25E4%25B8%25A4%25E5%25A4%25A9%25E8%25AE%25BF%25E9%2597%25AEurl%25E6%25AC%25A1%25E6%2595%25B0&rsv_pq=bce1980e0003a02c&rsv_t=67c5aWCfrM%2BtOuxbLeC50dw1NA%2FCnHD91Tx3L%2FnTzFULOIt0tEzfWBbHxaQ&rqlang=cn&rsv_enter=1&rsv_dl=ts_7&rsv_sug3=30&rsv_sug1=14&rsv_sug7=101&rsv_sug2=1&rsv_btype=t&prefixsug=linux%2520%25E7%25BB%259F%25E8%25AE%25A1%25E7%2594%25A8%25E6%2588%25B7&rsp=7&inputT=39880&rsv_sug4=40171

https://zhuanlan.zhihu.com/p/52829308
https://zhuanlan.zhihu.com/p/52829308
https://blog.csdn.net/weixin_32161925/article/details/116838282
https://zhuanlan.zhihu.com/p/52829308
https://blog.csdn.net/weixin_32161925/article/details/116838282
统计文件中指定字符串出现的次数
# 以下两个是等价的,均返回 8
grep "https" ./test.txt | wc -l
grep "https" ./test.txt -c
从文件中提取域名
# 一点一点地解读
# grep -o 指的是精准提取(只提取关键词,常用于正则),grep会把整行都显示出来
# http 完全匹配字符串"http"
# .\?   其中.值的是匹配s,可以有s,也可以没有,即s出现1次或0次,\? 指的是匹配0次或1次,必须用\进行转译
# :// 完全匹配字符串"://"
# .* 
# \. 完全匹配字符"."
# \w\+  其中\w 匹配大小写字母,下划线和数字,等价于 [a-zA-Z0-9_],+匹配多次。
# \/ 指匹配/,必须匹配,不然有两条匹配不到
$ grep -o 'http.\?://.*\.\w\+\/' ./test.txt
https://blog.csdn.net/
https://blog.csdn.net/
https://www.baidu.com/
http://www.baidu.com/
https://zhuanlan.zhihu.com/
https://zhuanlan.zhihu.com/
https://blog.csdn.net/
https://zhuanlan.zhihu.com/
https://blog.csdn.net/
(分组)统计文件中所有域名出现次数
# sort | uniq -c 必须连在一起用
$ ➜  grep -o 'http.\?://.*\.\w\+\/' ./test.txt | sort | uniq -c
   1 http://www.baidu.com/
   4 https://blog.csdn.net/
   1 https://www.baidu.com/
   3 https://zhuanlan.zhihu.com/
$ grep -o 'http.\?://.*\.\w\+\/' ./test.txt | uniq -c
   2 https://blog.csdn.net/
   1 https://www.baidu.com/
   1 http://www.baidu.com/
   2 https://zhuanlan.zhihu.com/
   1 https://blog.csdn.net/
   1 https://zhuanlan.zhihu.com/
   1 https://blog.csdn.net/

统计文件中所有域名出现次数,按倒序排列
# sort 排序
# uniq -c 在匹配到的字符前面加上一列出现次数
# sort -k1,1nr 按第一列倒序,其中-r是指的倒序
$ grep -o 'http.\?://.*\.\w\+\/' ./test.txt | sort | uniq -c | sort -rk1
   4 https://blog.csdn.net/
   3 https://zhuanlan.zhihu.com/
   1 https://www.baidu.com/
   1 http://www.baidu.com/
统计文件中出现频率最高的N个域名

类似的问题:查找文本中n个出现频率最高的单词

# sort:  对单词进行排序

# uniq -c:  显示唯一的行,并在每行行首加上本行在文件中出现的次数

# sort -k1,1nr:  按照第一个字段,数值排序,且为逆序

# head -10:  取前10行数据

$ grep -o 'http.\?://.*\.\w\+\/' ./test.txt | sort | uniq -c | sort -k1,1nr | head -2
   4 https://blog.csdn.net/
   3 https://zhuanlan.zhihu.com/
DNS
$ nslookup www.baidu.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值