Linux命令行文本处理工具


Linux命令行文本处理工具
 
Linux命令行文本处理工具
基于关键字搜索
命令grep用以基于关键字搜索文本
 
命令格式grep "关键字",并且通常和管道一起使用,如ls -l | grep "test". 以下是常用的参数
 
-i 在搜索的时候忽略大小写
-n 显示结果所在的行
-v 输出不带关键字的行
-Ax 在输出的时候包含结果所在行之后(after)的指定行数
-Bx 在输出的时候包含结果所在行之前(before)的指定行数
基于列处理文本
命令cut用以基于列文本内容
 
使用示例:cut -d: -f1 /etc/passwd,即用':'当成分割符,输出第一列,分割的是/etc/passwd文件, 以下是常用的参数
 
-d 指定分割字符(默认是TAB)
-f 指定输出的列号
-c 基于字作进行切割, 如cut -c2-6 /etc/passwd即输出/etc/passwd的每一行的第2到第6个字符
文本统计
命令wc用劲统计文本信息
 
使用示例:比如wc ok.cpp,以下是显示的结果和解释
 
9 23 96 ok.cpp
行数,共9行 单词数,共23个单词 字节数,共96个字节 文件名,叫ok.cpp
以下是常用参数
 
-l 只统计行数
-w 只统计单词数
-c 只统计字节数
-m 只统计字符数
文本排序
命令sort用以对文本内容进行排序
 
使用示例: 如sort file
 
-r 进行倒序排序
-n 基于数字进行排序
-f 忽略大小写
-u 删除重复行
-t c 使用c作为分隔符为列进行排序
-k x 指定用哪个key进行排序,通常用于, 进行基于指定字符分割为列的排序时,指定基于那个列排序
删除重复行
命令sort -u 可以用以删除重复行
命令uniq用以删除重复的相邻行
文本比较
命令diff用以比较两个文件的区别
 
以下是常用的参数
 
-i 忽略大小写
-b 忽略空格数量的改变
-u 统一显示比较的信息(一般用以生成patch文件)
检查拼写
命令aspell用以显示检查英文拼写
 
处理文本内容
命令tr用以处理文本内容
 
删除关键字
 
tr -d "TMD" <file
 
转换大小写
 
tr 'a-z' 'A-Z' file
 
搜索替换
命令sed用以搜索并替换文件,这里有一个很好的教程, 以下列出一些常见的用法
 
sed 's/old/new/g' file
 
把file里单词old替换为new,如果同一行出现多个old,把每个old都改为new
 
sed '1,50s/old/new/g' file
 
把1到50行里每行出现的old改成new, 如果同一行出现多个old,把每个old都改为new
 
sed -e 's/old1/new1/g' -e's/old2/new2/g' file
 
执行's/old1/new1/g' 和 's/old2/new2/g' 两个命令
 
sed -f sedsrcipt file
 
对file执行sedscipt脚本中的命令

相关内容

    暂无相关文章