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


Linux入门基础:命令行文本处理工具
 
基于关键字搜索
 
命令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

相关内容

    暂无相关文章