首页 > 代码库 > 文本处理工具详解
文本处理工具详解
一、cat命令
cat:文件查看
格式:cat [OPTION]...[FILE]..
OPTION:
-E:显示行结束符$;
-n: 对显示出的每一行进行编号;
-A:显示所有控制符;
-b:非空行编号;
-s:压缩连续的空行成一行;
-T显示制表符;
tac:逆向显示文件内容,与cat命令相反;
rev:行文件内容逆向显示;
eg1:显示所有控制符
eg2:显示制表符
eg3:显示行号
eg4:压缩空行成一行
eg5:非空行编号
eg6:tac:逆向显示文件内容
eg7:逆向显示行文件内容
二、more命令
more:分页查看文件内容
格式:more [OPTIONS...] [FILE]...
OPTIONS:
-d:显示翻页及退出提示;
三、less命令
less:分页查看文件内容
查看时有用的命令包括:
/文本:搜索文本
n:向下匹配
N:向上匹配
四、head命令
head:显示文本前几行内容(默认显示前10行)
格式:head [OPTION]... [FILE]...
OPTION:
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#: 指定行数
五、tail命令
tail:显示文本后几行内容(默认显示后10行)
格式:tail [OPTION]... [FILE]...
OPTION:
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:指定行数
-f: 跟踪显示文件新追加的内容,常用日志监控
eg:tail -n0 -f filename &:后台运行,既能查看内容又能做别的事
六、cut命令
cut:按列切割文本内容
格式:cut [OPTION]... [FILE]...
OPTION:
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6 混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符
eg1: [root@centos7 testdir]# cut -d: -f1 /etc/passwd ##以冒号做分隔符,取文件第一列,也就是用户名; eg2: [root@centos7 testdir]# cut -d: -f1,3 /etc/passwd ##以冒号做分隔符,取文件第一、第三列,我就是用户名和UID; eg3: [root@centos7 testdir]# cut -d: -f1,3,5-7 /etc/passwd ###以冒号做分隔符,取用户名、UID和shell类型;
eg4:
eg5:
七、paste命令
paste:合并两个文件同行号的列到一行
格式:paste [OPTION]... [FILE]...
OPTION:
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2
paste -s f1 f2
eg1:
eg2:
eg3:
八、wc命令
wc:字符统计(默认显示行数、单词数、字节数)
格式:wc [OPTION]... [FILE]...
OPTION:
-l:统计行数
-w:统计单词个数
-c:统计字节总数
-m:统计字符总数
九、sort命令
sort:文本排序(不改变原始文件)
格式:sort [OPTION] file
OPTION:
-r 执行反方向(由上至下)整理
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c选项使用c做为字段界定符
-k X选项按照使用c字符分隔的X列来整理能够使用多次
eg1: [root@centos7 testdir]# sort -t: -k 3 -n /etc/passwd ##以冒号做分隔符,取第三列按数字大小进行正向排序 eg2: [root@centos7 testdir]# sort -t: -k 3 -nr /etc/passwd ##以冒号做分隔符,取第三列按数字大小进行逆向排序
十、uniq命令
uniq命令:从输入中删除重复前后相接的行
格式:uniq [OPTION]... [FILE]...
OPTION:
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复
常和sort 命令一起配合使用:sort userlist.txt | uniq-c
eg1(vim /uniq.txt)
eg2:uniq命令什么选项都不加,仅显示连续重复的行一次
eg3:显示每行重复出现的次数
eg4:仅显示重复过的行
eg5:仅显示不曾重复过的行
十一、比较文件
diff:比较两个文件之间的区别
patch:向文件打补丁
-b:自动备份改变了的文件
diff foo.conf-broken foo.conf-works 5c5 < use_widgets = no -- > use_widgets = yes 注明第5行有区别(改变)
eg1:
eg2:使用 -u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件。
eg3:打补丁;删除f2文件,使用patch来恢复f2文件,-b自动备份改变了的文件(f1),执行之后f2文件就恢复了,但是文件名不叫f2,而是f1;而原来的f1文件改名叫f1.orig;
本文出自 “亚成-另一个LINUXER” 博客,请务必保留此出处http://yacheng0316.blog.51cto.com/11878883/1954590
文本处理工具详解