@TOC
文件查看命令
cat,tac,rev
cat, tac, rev
cat [OPTION]... [FILE]...
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
-A: 显示所有控制符
-b: 非空行编号
-s: 压缩连续的空行成一行
tac 倒叙输出与cat相反
rev 一行倒叙显示
示例:[root@zhang ~]# cat 1.sh
this is 111 line
分页查看文件内容
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
less 一页一页地查看文件或STDIN输出
查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配
less 命令是man命令使用的分页器
示例:[root@zhang ~]# less /var/log/messages
退出按q键。
显示文本前或后行的内容
head [OPTION]... [FILE]...
-c # 指定获取前#字节
-n # 指定获取前#行
-# 指定行数
示例:
[root@zhang ~]# head -3 1.sh
this is 111 line
this is 222 line
this is 333 line
tail [OPTION]... [FILE]...
-c # 指定获取后#字节
-n # 指定获取后#行
-# 同上
-f;--follow=descriptor 跟踪显示文件fd新追加的内容,常用日志监控,当文件改名或被删除,追踪停止
-F; --follow=name --retry 根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf 类似tail -f,当文件不增长时并不访问文件
示例:[root@zhang ~]# tail -3 1.sh
this is 777 line
this is 888 line
this is 999 line
[root@zhang ~]# tail -f 1.sh
按ctrl+c键退出
按列抽取文本cut
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符,默认tab 需与-f一起使用
-f FIEDS:
#: 第#个字段
#,#[,#]: 离散的多个字段,例如1,3,6
#-#: 连续的多个字段,例如1-6
混合使用: 1-3,7- 输出1,2,3,7,8...
-c 按字符切割
--output-delimiter=STRING指定输出分隔符
显示文件或STDIN数据的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/words
示例:[root@zhang ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@zhang ~]# head -1 /etc/passwd | cut -d: -f7
/bin/bash
文本分析工具
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列来整理能够使用多次
示例:sort -k 3 -t ':' /etc/passwd 以uid进行排序
uniq: 从输入中删除前后相接的重复的行
uniq [OPTION]... [FILE]...
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c