文本处理工具(一)—>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)
parrotparrot
上一篇 2018-04-06
下一篇 2018-04-06

相关推荐

  • linux关于grep 与 正则表达式的那些事

    首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强grep (缩写来自Globally search a Regular Expression and P…

    2018-04-08
  • Linux程序包管理

    Linux程序包管理 rpm rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序 语法 rpm(选项)(参数) rpm {-i|–install} [install-options] PACKAGE_FILE … rpm {-U|–upgrade} [install-options] …

    Linux笔记 2018-04-03
  • 加密和安全

    加密和安全

    2018-05-17
  • 软件包管理 rpm yum的使用

    软件包管理 链接主要作用是吧各个模块之间互相引用的部分处理好, 使得各个模块之间能够正确的链接,分为静态和动态 静态链接  以.a为后缀  把程序对应的依赖库复制到包           升级难 需重新编译  占用空间多 迁移容易 动态链接  以.so为后缀 把依赖加做动态链接    占用空间少  升级方便           若一个库被删,那么所有依赖此库…

    Linux笔记 2018-04-22
  • Linux发行版的基础目录

    Linux发行版的基础目录名称命名法则及功用规定: FHS:Linux目录配置文件的依据         FHS的重點在于规范每个特定的目录下要放置什么样子的资料 FHS要求必須要存在的目录:/bin:在单人维护模式下还能操作的文档/boot:主要放置开机时會使用到的档案/dev:在Linux中,任何裝置与周边设备都是以档案的形态存在這個目录中的。/etc:…

    Linux笔记 2018-06-24
  • shell 脚本进阶 ,启动流程和故障排错

    shell 脚本进阶 ,启动流程和故障排错

    2018-05-06