不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

文本处理命令head tail more less tr cut paste wc

Posted on 2021-01-27 14:06  三年三班王小朋  阅读(62)  评论(0编辑  收藏  举报

文本处理命令

命令**head tail more less tr cut paste wc**

磁盘分区利用率

df|tr -s ' ' :|cut -d : -f5
df|tr -s ' ' :|cut -d : -f5|tr -d %
df|tr -s ' ' %|cut -d % -f5

取出ifconfig中的ip

ifconfig|head -n2|tail -n1|tr -s " " :|cut -d : -f3
ifconfig|head -n2|tail -n1|tr -s " "|cut -d" " -f3
ifconfig|head -n2|tail -n1|cut -dt -f2|cut -dn -f1 
#拿字母做分割符

cut 
每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

示例:

who|cut -b 3
who|tr -s ' '|cut -d ' ' -f 4

 

 

 

 

cut的缺陷和不足:处理多空格…..如果文件里面的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为cut只擅长处理“以一个字符间隔”的文本内容

 

paste  合并两个文件同行号的列到一行
pasete[OPTION]...[FILE]... -d
分割符:指定分隔符,默认用TAB
-s:所有行合成一行显示
示例 paste f1 f2 paste -s f1 f2
wc 手机文本统计数据 计数单词总数、行总数、字节总数和字符总数
-l 只统计行数
-w 只统计单词书
-c只统计字节数
-m只计算字符总数
-L显示文件中最长行的长度

统计profile有多少个单词

cat /etc/profile|tr -cs [a-zA-Z] '\n'|wc -l

 

文本排序sort

-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k x 选项按照使用c字符分隔的x列来整理能够使用多次

df|tr -s " " "%"|cut -d% -f5|sort -n|tail -n1

 

uniq
uniq命令:从输入中删除前后相接的重复的行
uniq[OPTION]...[FILE]...
-c:显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复的行
注:连续且完全形同方位重复
常和sort命令一起配合使用:
sort userlist.text|uniq -c

取出httpd连接最多的10个ip

cut -d" " -f1 /var/log/httpd/access_log|uniq -c|sort -nr|head

取两个文件的交集

cat f1 f2|sort|uniq -d

取两个文件的并集

cat f1 f2|sort -u

 

linux文本处理三剑客
grep:文本过滤(模式:pattern)工具
grep,egrep,fgrep(不支持正则表达式搜索)

grep root /etc/passwd

sed:stream editor,文本编辑工具
awk:linux上的实现gawk,文本报告生成器

grep命令选项
--color=auto: 对匹配到的文本着色显示
-v:显示不被pattern匹配到的行
-i:忽略字符大小写
-n:显示匹配的行号
-c:统计匹配的行数
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息
-A #:after,后#行
-B #:before,前#行
-C #:context,前后各#行
-e:实现多个选项间的逻辑or关系
grep -e ‘cat’ -e ‘dog’ file
-w:匹配整个单词
-E:使用ERE
-F:相当于fgrep,不支持正则表达式
-f file:根据模式文件处理
取出局域网内所有ip地址

nmap -v -sP 192.168.0.0/24|grep -B1 up|grep report