【四月更文打卡】Linux文本处理工具和正则表达式

132 阅读2分钟

Linux文本处理工具和正则表达式

一.查看、截取和修改文本的工具

1.查看文本的工具

cat

  • 最常用的文件查看命令;当不指明文件或者文件名为一杠'-'时,读取标准输入。
cat [OPTION]... [FILE]...
-A:显示所有控制符(tab键:^I;行结束符:$)  
-E:显示行结束符$
-n:对显示出的每一行进行编号
-b:只对非空行进行编号
-s:压缩连续的空行成一行

more

  • 默认将多行文本满屏输出,只允许向文本末尾翻页(空格键满屏翻页;回车键单行翻页),阅读到文末自动退出。
  • 用法
more [options] file...
  • 一般使用管道传给more来阅读内容超过满屏的文本
cat big_file1 | more

less

  • 功能和more类似,但是允许向前和向后翻页,阅读到文本末尾不会自动退出。
  • 另外,less不必读取完整的文本,这使得其打开较大的文本文件时比vi等工具更具有速度优势。
  • 翻页快捷键
空格键向下满屏翻页
回车键单行向下翻页
k键单行向上
u键半屏向上
f键半屏向下
  • 向下的快捷键同样适用于more

nl

  • nl将文本文件传给标准输出,并添给每行文本加行号;当不指明文件或者文件名为一杠'-'时,读取标准输入。
  • 用法
nl [OPTION]... [FILE]...
    -i#   # 表示行号间隔#个数递增
  • 下面的用法只给带root的行加行号(匹配基本正则表达式)
nl -b, --body-numbering=pBRE file             # BRE 表示基本正则表达式
nl --body-numbering=proot /etc/passwd

tac

  • cat 的反用,最后一行先显示;当不指明文件或者文件名为一杠'-'时,读取标准输入。

rev

  • rev读取指定的文件,倒序每行的字符,输出到标准输出;如果不指定文件,读取标准输入。
[root@centos8 ~]$ rev
hello    # 输入
olleh    # 输出
howdy    # 输入
ydwoh    # 输出

head

  • 使用head输出文件内容的前面部分,默认打印前10行;当不指明文件或者文件名为一杠'-'时,读取标准输入。
  • 用法
head [OPTION]... [FILE]...
    -v # 在第一行打印文件名,使用管道传内容给head时文件名显示为:standard input
    -c bytes # 指定显示文件内容前bytes字节内容
    -n lines # 指定显示文件内容前lines行