linux学习入门18——LINUX命令行文本处理工具(linuxcast.net)(grep,sed,diff,tr,cut,wc,sort)
2013-03-16 16:58
726 查看
命令行文本处理工具
快捷的文本处理技术与工具。
1.文件浏览类
cat,more less,head.tail
![](http://img.my.csdn.net/uploads/201303/16/1363424681_3747.png)
2.基于关键字搜索文本
grep 命令
-i :忽略大小写
-n :显示结果所在的行
-v:输出不带关键字的行
-Ax :在输出的时候包含结果所在行之后的指定行数
-Bx:在输出的时候包含结果所在行之前的指定行数 xj--->>>数字 grep -B3 ming
![](http://img.my.csdn.net/uploads/201303/16/1363424707_8285.png)
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
![](http://img.my.csdn.net/uploads/201303/16/1363424725_7544.png)
4.文本统计
wc命令
-l :只统计行数
-w:只统计单词
-c:只统计字节数
-m:只统计字符数
![](http://img.my.csdn.net/uploads/201303/16/1363424741_6990.png)
5.文本排序(只支持英文和数字不支持中文)
sort命令
-r :进行倒序排序
-n:基于数字进行排序
-f:忽略大小写
-u :删除重复行 (uniq命令进行删除重复行,重复行指的是相邻的重复行)
-t c :使用c作为分隔符分割为列进行排序
-k x :当进行基于指定字符分割为列的排序时,指定基于那个列排序
![](http://img.my.csdn.net/uploads/201303/16/1363424754_6691.png)
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来调用这个文件
快捷的文本处理技术与工具。
1.文件浏览类
cat,more less,head.tail
![](http://img.my.csdn.net/uploads/201303/16/1363424681_3747.png)
2.基于关键字搜索文本
grep 命令
-i :忽略大小写
-n :显示结果所在的行
-v:输出不带关键字的行
-Ax :在输出的时候包含结果所在行之后的指定行数
-Bx:在输出的时候包含结果所在行之前的指定行数 xj--->>>数字 grep -B3 ming
![](http://img.my.csdn.net/uploads/201303/16/1363424707_8285.png)
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
![](http://img.my.csdn.net/uploads/201303/16/1363424725_7544.png)
4.文本统计
wc命令
-l :只统计行数
-w:只统计单词
-c:只统计字节数
-m:只统计字符数
![](http://img.my.csdn.net/uploads/201303/16/1363424741_6990.png)
5.文本排序(只支持英文和数字不支持中文)
sort命令
-r :进行倒序排序
-n:基于数字进行排序
-f:忽略大小写
-u :删除重复行 (uniq命令进行删除重复行,重复行指的是相邻的重复行)
-t c :使用c作为分隔符分割为列进行排序
-k x :当进行基于指定字符分割为列的排序时,指定基于那个列排序
![](http://img.my.csdn.net/uploads/201303/16/1363424754_6691.png)
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的shell脚本grep、sed、awk练习和diff、patch、cut、sort介绍
- Linux grep sed nl awk sort,uniq,cut,wc rsync命令详解
- linux下常用的几个工具 (cut, uniq, wc, grep, sort, tr, paste)
- linux学习第二十五篇:cut,sort,wc,uniq,tee,tr,split命令,shell特殊符号
- linux下常用的几个工具 (cut, uniq, wc, grep, sort, tr, paste)
- Linux下Bash的管线pipe命令,cut,grep,sort,wc,uniq,tee,tr,col,join,past,expand
- linux下常用的几个工具 (cut, uniq, wc, grep, sort, tr, paste)
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
- Linux下Bash的管线pipe命令,cut,grep,sort,wc,uniq,tee,tr,col,join,past,expand
- 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk
- Linux下Bash的管线pipe命令,cut,grep,sort,wc,uniq,tee,tr,col,join,past,expand
- 0219自学Linux_bash特性+命令学习(cut,sort,uniq,wc,tr,histroy,alias)+通配符glob
- Linux 的(cut,sed,awk,grep,sort)
- Linux之ubuntu学习笔记(八):linux下的功能指令( find , locate , grep , cut , sort , head , tail,type,which..
- linux学习入门21——YUM软件管理(linuxcast.net)
- linux常用命令-文本处理cut,sort,uniq,wc,tr
- linux学习入门7——磁盘基本概念(linuxcast.net)
- linux学习入门2-3——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
- linux学习入门1——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))