文件处理查找工具:
文件查看命令:cat,tac,rev,diff
- 1、cat :concatenate files and print on the standard output #查看文件和打印出
usage:cat [OPTION]… [FILE]…
- -E,–show-ends 显示行结束符$
- -n,–number 对显示出的每一行进行编号
- -A,–show-all 显示所有控制符
- -b,–number-nonblank 对空行不编号
- -s,–squeeze-blank 压缩连续的空行成一行
示例
[root@localhost app]# cat -n issue
1 \S
2 Kernel \r on an \m
3
[root@localhost app]# cat -E issue
\S Kernel\ronan\m
$
[root@localhost app]# cat -b issue
1 \S
2 Kernel \r on an \m
- 2、rev : reverse lines of a file or files #行反显示
usage:rev [options] [file …]
示例
[root@localhost app]# rev issue
S\
m\ na no r\ lenreK - 3、tac :concatenate and print files in reverse 页面反向显示
usage: tac [OPTION]… [FILE]…
示例
[root@localhost app]# tac issue
Kernel \r on an \m
\S
分页查看文件内容:
- 1、more :file perusal filter for crt viewing #分页查看文件
-d:显示翻页及退出提示</li>
- 2、less opposite of more #一页一页地查看文件或stdin输出
more到达末尾直接退出,less阅读完不直接退出。
- 2、less opposite of more #一页一页地查看文件或stdin输出
显示文本前后行内容:
- 1、head 命令 output the first part of files 行首输出文件
usage:head [OPTION]… [FILE]…
- -c –bytes=[-]K # 指定获取前#字节
- -n, –lines=[-]K # 指定获取前#行
- -# 指定行数
示例
[root@localhost app]# head -c20 passwd #显示前20个字节
root:x:0:0:root:/roo[root@localhost app]#
[root@localhost app]# head -5 passwd #显示前5行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
- 2、tail命令 output the last part of files #从文件最后一行读取
usage: tail [OPTION]… [FILE]…
- -c # 指定获取后#字节
- -n # 指定获取#行
- -f 跟踪显示文件新追加的内容,常用日志监控
示例
tail -f f11 &
后台运行 如果在另一个终端输入内容,不会影响此终端的正常工作;
watch 动态查看 但与tail区别是·:显示内容需要等一秒才在屏幕中显示
- 3、cut命令:
usage: cut OPTION… [FILE]…
- -d 指明分隔符 默认为tab
- -f 指定字段 # 第#个字段 #,# 离散的多个字段 #-# 连续的多个字段
- -c 按字符切割
- –output-delimiter=STING 指定输出分隔符
示例
[root@localhost app]# cat passwd |cut -d: -f3,5 –output-delimiter=-
- 4、paste命令 merge lines of files #合并两个文件同行号列到一行;
usage: paste [OPTION]… [FILE]…
- -d 分隔符:指定分隔符,默认为TAB
- -s, –serial:所有行合成一行显示
示例
[root@localhost app]# paste -d: f1 issuemerge lines of files #以分隔符“:”合并这两个文件
[root@localhost app]# paste -s f1 issue
收集文本统计数据:
- 1、wc 命令
usage:wc [OPTION]… [FILE]…
- -l –lines 计数行数
- -c –bytes 计数字节数
- -w –words 计数单词数
- -m –chars 计数字符总数示例
[root@localhost app]# cat passwd |wc -l #计数passwd文件行数
51
[root@localhost app]# cat passwd |wc -c #计数passwd文件字节数
2584
[root@localhost app]# cat passwd |wc -w #计数passwd文件单词数
96
[root@localhost app]# cat passwd |wc -m #计数passwd文件字符数
2584
- 2、sort命令 sort lines of text files
- -r 执行反方向整理
- -n 按数字大小整理
- -f 忽略字符大小写
- -u 删除输出中的重复行
- -t c 现象使用c作为字段界定符
- -k 指定哪个字段
示例
[root@localhost app]# cat passwd |sort -t: -n -k3 #以:为分隔符,第三个字段排序
- 3、uniq命令 report or omit repeated lines
- -c –count 显示每行重复出现的次数
- -d –repeated 仅显示重复过的行
- -u –unique 仅显示不重复的行(连续且完全相同则为重复)
示例:
[root@localhost app]# cat issue |uniq -c -u #显示不重复的行次数
[root@localhost app]# cat issue |uniq -d -c #显示重复行的次数
4、diff命令:compare files line by line #比较两个文件之间的区别;
usage:diff [OPTION]… FILES
diff f1 f1 > patch.log
通常和patch同时使用;5、patch apply changes to files #修改补丁;
-u 输出“统一的”diff格式文件,最适用于补丁文件;
注意:patch复制到其他文件中会改变(要谨慎使用)
-b 自动备份改变了的文件;
patch -b patch.log f1