文本处理工具(一)—>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 20:44
下一篇 2018-04-06 21:37

相关推荐

  • centos 7.4 实现二进制安装mariadb-10.2.15-linux-x86_64.tar.gz mysql 数据库

    实验:centos 7.4 实现二进制安装mariadb-10.2.15-linux-x86_64.tar.gz mysql 数据库 1,检查相应的坏境 查看下防火墙iptables和selinux 是否关闭,没关闭先关闭。 再查看下原来主机上是否已有 mariadb 数据库,如果有先卸载在进行安装。 2,下载对应的二进制文件 3,准备用户账号,mysql,…

    Linux笔记 2018-06-05
  • SAMBA服务介绍及相关实验

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

    2018-06-29
  • Linux中用户、组和权限

    用户user Linux用户:Username/UID 管理员:root,0 普通用户: 系统用户:1-499 交互式登录:登录用户500+,1000+9(CentOs7) 组group  Linux组:Groupname/GID 管理员组:root,0(私有组) 普通组:系统组:1-499,1-999;普通组:500+,1000+ Linux组的类别:1.…

    Linux笔记 2018-04-05
  • 实验:正向主DNS实现 实验:反向解析DNS 实验:从DNS服务器实现

    实验:正向主DNS实现实验:反向解析DNS 实验:从DNS服务器实现 在主服务器vim /etc/named.confallow-transfer { slaveip;}; 加此行从服务器vim /etc/named.confallow-transfer { none;}; 加此行 vim /etc/named.rfc1912.zoneszone &#822…

    2018-06-01
  • Linux 文本工具

    grep

    2018-04-11
  • N31第五周作业

    本周(7.16–7.22)第五周 1、简述rpm与yum命令的常见选项,并举例 rpm相关 rpm安装             rpm {-i|–install} [install-options] PACKAGE_FILE …            [install-options]:                 -…

    Linux笔记 2018-07-23