首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux入门基础 #十:命令行文本处理工具

2013-09-07 
Linux入门基础 #10:命令行文本处理工具本文出自http://blog.csdn.net/shuangde800-----------------------

Linux入门基础 #10:命令行文本处理工具



本文出自   http://blog.csdn.net/shuangde800

---------------------------------------------



基于关键字搜索
命令grep用以基于关键字搜索文本
$ grep 'shuangde'  /etc/passwd$ find  / -user  shuangde | grep Video
-i     在搜索的时候忽略大小写-n    显示结果所在行数-v    输出不带关键字的行-Ax  在输出的时候包含结果所在行之后的指定行数  -Bx  在输出的时候包含结果所在行之前的指定行数



基于列处理文本
命令cut用以基于列处理文本内容$ cut  -d :  -f  1 /etc/passwd   用冒号分隔并显示passwd文件的第一列(如果显示多列: -f 1,2,3 )$ grep  shuangde  /etc/passwd  |  cut  -d:  -f3

-d  指定分隔符(默认是TAB)-f   指定输出的列号-c  基于字符进行分割
$ cut  -c2-6  /etc/passwd显示第2~6个字符


文本统计
命令wc(word  count)用以统计文本信息$ wc  file   输出行数,单词数,字节数
-l   (lines)   : 只统计行数-w (words) : 只统计单词数-c  (bytes):只统计字节数-m (chars):只统计字符数



文本排序
sort命令:用以对文本的行内容进行排序(只支持英文和数字)$  sort  filename 
-r    倒序排序-n   基于数字进行排序-f    忽略大小写-u   删除重复行-t c  使用c作为分隔符分割为列进行排序-k x  当进行基于指定字符分割为列的排序时,指定基于那个列排序

删除重复行
$ sort  -u  可以删除重复行$ uniq  用以删除相邻的重复行

文本比较diff 命令:一行行地比较两个文本文件的差异$  diff   file1  file2-i   忽略大小写-b  忽略空格数量的改变-u  统一显示比较信息(一般用以生成patch文件) $ diff  -u  file1  file2  >  final.patch

拼写检查
aspell 命令: 显示检查英文拼写$  aspell  check  file    检查文件file内的单词拼写,可以进行改正$  aspell list  file   把文件file内错误单词,并显示出来


处理文本内容
tr 命令 : 改变或者删除文本内容
删除关键字$  tr  -d  'TMD'  < filename    把T,M,D三个字母都删掉
转换大小写$  tr  'a-z'  'A-Z'  < filename


搜索替换
sed命令: 用以搜索并替换文本(stream editor for filtering and transforming text.)
$ sed  's/linux/unix/g'   file$ sed  '1,50s/linux/unix/g'  file$ sed  -e  's/linux/unix/g'  -e  's/hehe/haha/g'  file    可以指定多个匹配模式$ sed  -f  sededit  file





热点排行