文本处理工具

文件查看命令:

cat,tac,rev 
cat [OPTION]… [FILE]…
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行 
tac rev

分页查看文件内容

more: 分页查看文件
more [OPTIONS…] FILE…
-d: 显示翻页及退出提示
less:一页一页地查看文件或STDIN输出
查看时有用的命令包括:
/文本 搜索 (从光标处向下查找)
文本 n/N 跳到下一个 或 上一个匹配
?文本 搜索(从光标出向上查找)
文本 n/N 跳到上一个 或 下一个匹配
less 命令是man命令使用的分页器

显示文本前或后行内容

head [OPTION]… [FILE]…
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#: 指定行数 (等同于-n #)

tail [OPTION]… [FILE]…
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:指定行数(等同于-n #)
-f: 跟踪显示文件fd新追加的内容,常用日志监控 相当于 --follow=descriptor(动态跟踪),源文件丢失不在跟踪)
-F: 跟踪文件名,相当于–follow=name --retry(同-f,跟踪文件名只要有这个文件名称一直跟踪而不管其是不是原始文件) 
tailf 类似tail –f,当文件不增长时并不访问文件

按列抽取文本cut

cut [OPTION]… [FILE]…
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6 混合使用:1-3,7
-c 按字符切割
–output-delimiter=STRING指定输出分隔符

收集文本统计数据wc

计数单词总数、行总数、字节总数和字符总数
可以对文件或STDIN中的数据运行
wc story.txt
39   237  1901 story.txt
行数  字数  字节数 
常用选项 
-l 只计数行数 
-w 只计数单词总数 
-c 只计数字节总数 
-m 只计数字符总数 
-L 显示文件中最长行的长度

文本排序sort 

把整理过的文本显示在STDOUT,不改变原始文件
sort [options] file(s) 
常用选项 
-r 执行反方向(由上至下)整理 
-R 随机排序 
-n 执行按数字大小整理 
-f 选项忽略(fold)字符串中的字符大小写 
-u 选项(独特,unique)删除输出中的重复行 
-t c 选项使用c做为字段界定符 
-k X 选项按照使用c字符分隔的X列来整理能够使用多次

uniq

uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复 
常和sort 命令一起配合使用: sort userlist.txt | uniq -c

比较文件

比较两个文件之间的区别
diff foo.conf foo2.conf
5c5
< use_widgets = no
–>
use_widgets = yes 
注明第5行有区别(改变)

复制对文件改变patch

diff 命令的输出被保存在一种叫做“补丁”的文件中 
使用 -u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件 
patch 复制在其它文件中进行的改变(要谨慎使用) 
适用 -b 选项来自动备份改变了的文件
diff -u foo.conf foo2.conf > foo.patch
patch -b foo.conf foo.patch

Linux文本处理三剑客

grep:文本过滤(模式:pattern)工具
grep, egrep, fgrep(不支持正则表达式搜索) 
sed:stream editor,文本编辑工具 
awk:Linux上的实现gawk,文本报告生成器

grep

grep: Global search REgular expression and Print out the line
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检 查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
grep [OPTIONS] PATTERN [FILE…]

grep命令选项(默认为贪婪模式,即尽可能多的匹配)
–color=auto: 对匹配到的文本着色显示 
-v: 显示不被pattern匹配到的行 (可以不用加,系统安装时自动添加别名)
-i: 忽略字符大小写 
-n:显示匹配的行号 
-c: 统计匹配的行数 
-o: 仅显示匹配到的字符串 
-q: 静默模式,不输出任何信息(使用echo $? 来查看 返回值0表示已找到 非0则未找到)
-A #: after, 后#行 (查找到的内容后几行一块显示)
-B #: before, 前#行 (查找到的内容前几行一块显示)
-C #:context, 前后各#行(查找到的内容前后几行显示) 
-e:实现多个选项间的逻辑or关系 grep –e ‘cat ’ -e ‘dog’ file 
-w:匹配整个单词 ( 非特殊字符组成的连续字符(字符串)都称为单词_,空格分隔都时单词)
-E:使用ERE (等同于egrep)
-F:相当于fgrep,不支持正则表达式 
-f file: 根据模式文件处理(将查找的条件写入文件,调用文件进行处理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值