Linux文本处理工具和正则表达式
一.查看、截取和修改文本的工具
1.查看文本的工具
cat
- 最常用的文件查看命令;当不指明文件或者文件名为一杠'-'时,读取标准输入。
cat [OPTION]... [FILE]...
-A:显示所有控制符(tab键:^I;行结束符:$)
-E:显示行结束符$
-n:对显示出的每一行进行编号
-b:只对非空行进行编号
-s:压缩连续的空行成一行
more
- 默认将多行文本满屏输出,只允许向文本末尾翻页(空格键满屏翻页;回车键单行翻页),阅读到文末自动退出。
- 用法
more [options] file...
cat big_file1 | more
less
- 功能和more类似,但是允许向前和向后翻页,阅读到文本末尾不会自动退出。
- 另外,less不必读取完整的文本,这使得其打开较大的文本文件时比vi等工具更具有速度优势。
- 翻页快捷键
| |
|---|
| 空格键向下满屏翻页 | |
| 回车键单行向下翻页 | |
| k键单行向上 | |
| u键半屏向上 | |
| f键半屏向下 | |
nl
- nl将文本文件传给标准输出,并添给每行文本加行号;当不指明文件或者文件名为一杠'-'时,读取标准输入。
- 用法
nl [OPTION]... [FILE]...
-i# # 表示行号间隔#个数递增
- 下面的用法只给带root的行加行号(匹配基本正则表达式)
nl -b, --body-numbering=pBRE file
nl --body-numbering=proot /etc/passwd
tac
- cat 的反用,最后一行先显示;当不指明文件或者文件名为一杠'-'时,读取标准输入。
rev
- rev读取指定的文件,倒序每行的字符,输出到标准输出;如果不指定文件,读取标准输入。
[root@centos8 ~]$ rev
hello
olleh
howdy
ydwoh
head
- 使用head输出文件内容的前面部分,默认打印前10行;当不指明文件或者文件名为一杠'-'时,读取标准输入。
- 用法
head [OPTION]... [FILE]...
-v
-c bytes
-n lines