一、文本查看工具
- cat
cat [options] file...
- option:
-E <!--显示文本行结束符$-->
-A <!--显示所有隐藏字符-->
-n <!--每行行首显示行号-->
-b <!--只对非空行显示行号-->
-s <!--压缩连续空行成一行-->
- tac 从下至上输出每一行
- rev 每一行从右至左输出
- 实验:查看文件
/etc/fstab
,显示行末结束符,显示行首编号
二、分页查看文件
more [options] file...
more -d file 显示翻页、退出提示
- less
语法:less file
less功能与more相似,增加了向上翻页功能,可以进行文本搜索
三、显示文本前行、后行内容
- head 显示文本前行内容
语法:head [OPTION]... [FILE]...
选项:
-c # <!--指定获取前#字节-->
-n # <!--指定获取前#行-->
-# <!--指定获取前#行-->
- tail 显示文本后行内容
语法:tail [OPTION]... [FILE]...
选项:
-c # <!--指定获取后#字节-->
-n # <!--指定获取后#行-->
-# <!--指定获取后#行-->
-f <!--跟踪显示文件新追加的内容,常用日志监控-->
- 实验:显示/etc/fstab文件的第9行
- 命令:
head -9 /etc/fstab | tail -1
四、cut 按列抽取文本
- 语法:
cut [OPTION]... [FILE]...
- 选项:
-d <!--指明分隔符,默认tab-->
-f # <!--第#个字段-->
-c <!--按字符切割-->
--output-delimiter=STRING <!--指定输出分隔符-->
- 实验:
1、抽取出df结果第7行的分区和挂载点,分隔符采用";"
2、抽取出df结果第8行的第9-31个字符(不含空格)
df | head -7 | tail -1 | tr -s " " | cut -d" " -f1,6 --output-delimiter=";"
df | head -8 | tail -1 | tr -d " " | cut -c9-31
五、paste 将两个文本同行内容合并为一行
- 语法:
paste [OPTION]... [FILE]...
- 选项:
-d <!--指定分隔符,默认tab-->
-s <!--所有行合成一行显示-->
- 实验:将/etc/passwd的前8行和/etc/group的前10行同行合并为一行,分隔符为%
head -8 /etc/passwd > passwd
head -10 /etc/group > group
paste -d"%" passwd group
六、wc 文本数据统计
-l <!--统计行数-->
-w <!--统计单词数-->
-c <!--统计字节数-->
-m <!--统计字符数-->
- 实验:统计
/usr/share/dict/linux.words
的行数、单词数、字节数、字符数
wc -l /usr/share/dict/linux.words
wc -w /usr/share/dict/linux.words
wc -c /usr/share/dict/linux.words
wc -m /usr/share/dict/linux.words
七、sort 文本排序
- 语法:
sort [options] file
- 选项:
-r <!--执行反方向整理-->
-n <!--执行按数字大小整理-->
-f <!--忽略字符串中的字符大小写-->
-u <!--删除输出中的重复行-->
-t c <!--使用c做为字段分隔符-->
-k X <!--按照使用c字符分隔的第X列来排序-->
- 实验:对文本文件1.txt按数字大小排序,再逆序输出一遍
sort -n 1.txt
sort -nr 1.txt
八、uniq 删除重复行
- 语法:
uniq [options] file
- 选项:
-c <!--显示每行重复出现的次数-->
-d <!--仅显示重复过的行-->
-u <!--仅显示不曾重复的行-->
- 实验:统计1.txt;./文本中数字的出现次数,并且数字按照从大到小排列
- 命令:
sort -nr 1.txt | uniq -c
九、diff 比较文本文件区别