linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)

命令行文本处理工具

 

快捷的文本处理技术与工具。

 

 

 

1.文件浏览类

cat,more less,head.tail

 

2.基于关键字搜索文本

grep 命令

-i :忽略大小写

-n :显示结果所在的行

-v:输出不带关键字的行

-Ax :在输出的时候包含结果所在行之后的指定行数

-Bx:在输出的时候包含结果所在行之前的指定行数   xj--->>>数字   grep -B3 ming

 

3.基于列处理文本

需要处理的文本有特定的格式,有时我们需要只显示某一列信息就可以了。可以用cut命令。     像/etc/passwd

cut -d: -f1 /etc/passwd

grep ming /etc/passwd  |cut -d: -f3                 -------------->>>>>>>>可以处理数据流

 

-d :指定分隔符(默认是TAB)

-f  :指定输出的列号

-c :基于字符进行切割      cut -c2-6 /etc/passwd

 linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)_第1张图片

4.文本统计

wc命令

-l :只统计行数

-w:只统计单词

-c:只统计字节数

-m:只统计字符数

 

linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)_第2张图片

5.文本排序(只支持英文和数字不支持中文)

sort命令

-r :进行倒序排序

-n:基于数字进行排序

-f:忽略大小写

-u :删除重复行  (uniq命令进行删除重复行,重复行指的是相邻的重复行)

-t c :使用c作为分隔符分割为列进行排序

-k x  :当进行基于指定字符分割为列的排序时,指定基于那个列排序

 linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)_第3张图片

6.文本比较

命令diff用以比较两个文件的区别

diff   file1 file2

 

-i :忽略大小写

-b:忽略空格数量的改变

-u:统一显示比较信息(一般用以生成patch文件)

 

diff -u  file1 file1-new  >final.patch

 

7.拼写检查aspell

 

8.处理文本内容

tr命令进行处理(translate)

 

删除关键字:tr -d  'TMD'  <filename   (使用重定向输入数据,一般用来处理数据流 )

转换大小写:tr 'a-z' 'A-Z'  <filename

 

9.搜索替换

sed命令进行搜索替换

 

sed 's/linux/unix/g'  filename   ------>>>>>搜索所有的linux关键字并替换为unix,g表示一行中出现多个匹配项时全部替换

sed '1,50s/linux/unix/g'  filename  ----->>>> 1到50行进行替换

sed -e 's/linux/unix/g' -e 's/ming/jiming/g'  filename    ----->>>>>指定多个匹配项

sed -f sededit filename   ----->>>>>将匹配的命令写到文件中,sededit中保存的内容就是匹配命令(像:s/linux/unix/g)使用-f来调用这个文件

你可能感兴趣的:(linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort))