文本处理工具

用文本存储配置数据

     重要工具:

     抽取

     查看

 cat > 文件名  << EOF 将下面EOF之前的内容存到文件中

-A 显示全部字符

-vET

-E 合并行

-n 显示行号

-s 将多个空白行压缩成一行显示

:::::::::reset 复位

 

less  more

more 只能往后翻页

less 既可以向前也可以向后翻页

less –m /tmp/a.txt

less –M /tmp/a.txt

less –N /tmp/a.txt 对行编号

显示文件首部和尾部head  tail默认对应的10

head -5 /var  显示头5

head  只显示第5  用管道  如图:  

tail -f  /tmp/a.txt      动态显示 用于监控

grep

Global search Regular Expression and Print out the line

 根据正则表达式进行匹配

grep [options] “pattern”  /path/to/file

grep “root” /etc/passwd  显示  /etc/passwd中包含root的行

 

正则表达式

 

linux中的文本处理_第1张图片 

行首出现root   grep “^root” /etc/passwd

行尾出现root   grep “root$” /etc/passwd

.匹配单个字符    grep “t..s” /etc/passwd  中间跟了两个任一字符  (是把一行当做一个字符串来处理)

*

grep “cb*” /etc/passwd    c是必须有的 b可有可无

 

linux中的文本处理_第2张图片

 

词首:grep “\

词尾:grep “cb\>” /etc/passwd

grep “is.*is” /etc/passwd            *表示次数.表示任一字符如下图

 

linux中的文本处理_第3张图片

 

搜索 installing开头  包含lib的文件 如图所示:

 

 

grep选项

linux中的文本处理_第4张图片

-B2显示匹配到的前2

-A2后两行

-C2前后各2

-w表示[a-zA-Z0-9_]

 

扩展的正则表达式

linux中的文本处理_第5张图片 

GNUgrep

linux中的文本处理_第6张图片 

 

GNU egrep

 

linux中的文本处理_第7张图片 

 查找邮件地址  ***@***

egrup  “\w+@\w\.\w+”  sdsff@dsf.com

egrup  “\w+(_\w+)*@\w\.\w+”  sdsff@dsf.com

  grep –E –color=auth  “\w+”

  wc

wc story.txt   行数 显示文件的字符数 字节数

-w 单词数  -c 字节 –l 行数 –m

sort -t : -k 3 –n /etc/passwd

把排序后的内容保存到文件中 sort -t : -k 3 –n /etc/passwd –o /root/sort.passwd 

或者sort -t : -k 3 –n /etc/passwd > /root/sort.passwd

-u  取消重复行

uniq  -u  显示只出现一次的行

     -d  出现多次的行  但只显示一次

     -c 显示某行重复了多少次

aspell

   aspell check 1.diff

 

 

tr 替换

 tr ‘a-z’ ‘A-Z’ < 1.txt

tr –d ‘ex’ 删除ex开头的单词

 

sed

sed 流编辑器

非交互式的编辑器

没有破坏性,不修改源文件 除非使用Shell的重定向符来保存结构

sed支持sed脚本

 

linux中的文本处理_第8张图片 

-s替换

-d删除

-p 打印行

-n 只显示匹配到的行 不显示缓冲区的内容

 

linux中的文本处理_第9张图片

&>无论正确与否都输出到某个文件中