文本处理工具(一)—>cat head tail more less wc cut sort diff patch

date -s “2018-4-6”

1、cat,文件查看命令
   cat [OPTION]... [FILE]... 
 -E: 显示行结束符$ 
 -n: 对显示出的每一行进行编号 
 -A:显示所有控制符 
 -b:非空行编号 
 -s:压缩连续的空行成一行 
 tac,与cat显示总体首尾相反显示
 rev,与cat显示每行首尾相反显示
---->cat -n issue
G{YO5K4BS7PMG7M3{A_B
---->cat -b issue
ODM3[31DVFL5E3}E({5S335
----cat -A issue
[KG`J}(9LX4$~UO3T)~Y6GB
2、more: 分页查看文件 
   more [OPTIONS...] FILE... 
   -d: 显示翻页及退出提示 
  less:一页一页地查看文件或STDIN输出  
  less 命令是man命令使用的分页器 
3、head [OPTION]... [FILE]... 
   -c #: 指定获取前#字节 
   -n #: 指定获取前#行 
     -#: 指定行数 
   tail [OPTION]... [FILE]... 
   -c #: 指定获取后#字节 
   -n #: 指定获取后#行 
     -#:指定行数 
     -f: 跟踪显示文件fd新追加的内容,常用日志监控,相当于 --follow=descriptor 
     -F: 跟踪文件名,相当于—follow=name --retry 
  tailf 类似tail –f,当文件不增长时并不访问文件 
---->head -3 issue |tail -1,取出issue文件第三行
BLY)4P5]G9U[D7D8GR))OBW
---->head -c30 issue |tail -c20,可以看出行结束符$也占一个字符
AYGRZ[X5CZ]~_ITN][$}34R
---->tail -f可以同步显示文件修改内容,常用于日志监控,缺点:删除此文件不会同步警告
---->tail -F,文件删除时会警告
1V1WOS29)VB[9NXTVN_S8XB
*tail常用来查看服务的日志文件,日志文件写入是追加方式。
4、cut
   cut [OPTION]... [FILE]... 
   -d DELIMITER: 指明分隔符,默认tab 
   -f FILEDS: 
   #: 第#个字段 
   #,#[,#]:离散的多个字段,例如1,3,6 
   #-#:连续的多个字段, 例如1-6,混合使用:1-3,7 
   -c 按字符切割 
   --output-delimiter=STRING指定输出分隔符 
---->head -5 /etc/passwd |cut -d: -f1-3,7 --output-delimiter="|" 
J(GMTOATZI(IG(6~B`NXR56
扩展:paste,合并两个文件同一行到一个文件
  paste [OPTION]... [FILE]... 
 -d 分隔符:指定分隔符,默认用TAB 
 -s : 所有行合成一行显示 
---->paste f1 f2
0YC~_345NBY8]}BHWCNDECE
5、wc,计数单词总数、行总数、字节总数和字符总数
---->wc story.txt 
     39 237 1901 story.txt 
   行数 字数 字节数 
  -l 只计数行数 
  -w 只计数单词总数 
  -c 只计数字节总数 
  -m 只计数字符总数 
  -L 显示文件中最长行的长度 
---->wc -l /etc/fstab | cut -d" " -f1,经常用来显示文件的行数
T32WCWZ42@DL]V`H9{@MVYK
---->ls /etc/* |wc -l,可以查看目录中文件和子目录总数
1@3I2WV)JQ$K_PDWO_VA@O3
6、sort,把整理过的文本显示在STDOUT,不改变原始文件
   sort [options] file(s) 
  -r 执行反方向(由上至下)整理 
  -R 随机排序 
  -n 执行按数字大小整理 
  -f 选项忽略(fold)字符串中的字符大小写 
  -u 选项(独特,unique)删除输出中的重复行 
  -t c 选项使用c做为字段界定符 
  -k X 选项按照使用c字符分隔的X列来整理能够使用多次 
---->head -5 /etc/fstab | sort -t: -k3 -nr |cut -d: -f1,3,7
I3{S{ZJY(LGZ26Y9M~6~HX4
7、uniq,从输入中删除前后相接的重复的行
   uniq [OPTION]... [FILE]... 
   -c: 显示每行重复出现的次数 
   -d: 仅显示重复过的行 
   -u: 仅显示不曾重复的行             
注:连续且完全相同方为重复 
常和sort 命令一起配合使用: 
 sort userlist.txt | uniq -c 
8、diff,比较两个文件之间的区别 
8.1 diff foo.conf foo2.conf 
  5c5 
  < use_widgets = no 
  --- 
  > use_widgets = yes 
  注明第5行有区别
G`5UFKY_FB_4%$2{JT}1D)A
8.2 diff 命令的输出被保存在一种叫做“补丁”的文件中 
     使用-u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件 
   patch 复制在其它文件中进行的改变(要谨慎使用) 
     适用-b 选项来自动备份改变了的文件
$ diff -u foo.conf foo2.conf > foo.patch 
$ patch -b foo.conf foo.patch 
---->diff -u fstab issue >paste.diff;patch -b issue paste.diff
5})(WUG5X(47])T(ASK}YM9 
注:还原fstab时,原issue文件被命名为issue.orig,恢复的fstab被命名为issue.

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95065

(0)
上一篇 2018-04-06 20:44
下一篇 2018-04-06 21:37

相关推荐