linux-修改文件命令(补充)

发布于:2025-06-26 ⋅ 阅读:(19) ⋅ 点赞:(0)

1. Tac命令

        tac 命令是 Linux 系统中一个用于逆序显示文件内容的工具。它的名称是 "cat" 的反向拼写,作用与 cat 命令相反。cat 命令按文件内容的原始顺序显示,而 tac 命令则从文件的最后一行开始,逐行反向显示,直到第一行

实例:

1. 输出文件的逆序内容:$ tac file.txt

此命令会将file.txt文件的内容以逆序的方式输出。

2. 将多个文件合并后以逆序的方式输出:$ tac file1.txt file2.txt file3.txt

该命令会将file1.txt、file2.txt和file3.txt的内容合并后以逆序的方式输出。

    2. sed命令

            在 Linux 和 Unix 系统中,sed(stream editor)是一款功能强大且灵活的文本处理工具。它可以在不需要用户交互的情况下,对文本进行多种形式的编辑和转换。

    基本语法如下sed [选项] '脚本' 文件

    选项:可以是 -e(表达式),-f(脚本文件)等。

    脚本:包含一个或多个 sed 命令。

    文件:要处理的文本文件。

    常用选项:

    • -e 脚本 或 --expression=脚本:直接在命令行中添加 sed 命令。

    • -f 脚本文件 或 --file=脚本文件:从指定的脚本文件中读取 sed 命令。

    • -n 或 --quiet 或 --silent:仅显示由 sed 命令处理的行。

    • -i[SUFFIX] 或 --in-place[=SUFFIX]:直接编辑文件内容,原文件内容会被替换,如果指定了 SUFFIX,则会保存备份。

    替换文本 (s)

    基本格式为:

    1. sed 's/原文本/新文本/选项' 文件
    2. g:全局替换,替换行内所有匹配的文本。
    3. N:替换第 N 个匹配项。

      3. Awk命令

       awk是一种强大的文本处理工具,主要用于模式扫描和文本处理

      语法结构:

      awk '模式'     file  # 默认就是输出 不需要加动作

      awk '模式+动作' file

      可以将其他命令的输出|作为awk命令的输入:df -h|awk 'NR==2'  

       awk取行:

      语法结构:

      awk 'NR==3' fileNR awk的内置变量,存储着每行的行号

      符号:

      1. == 等于第几行
      2. >  大于第几行
      3. >= 大于等于第几行
      4. <  小于第几行
      5. <= 小于等于第几行
      6. != 不等
      7. && 并且 类似sed的 1,3
      8. || 或者

      awk取列

       awk '{print $1}' file # 取出文件中的第1列默认按照空格或者tab键分隔成列;如果没有空格或者tab键,awk会将整行看成一列;在awk中一切在动作中的字符串都被看做是变量,加上双引号则视为普通的字符串

      awk内置变量:

      1. $0  # 表示整行
      2. $1  # 表示文件的第1列
      3. $2  # 表示文件的第2列
      4. ,   # 逗号表示空格
      5. NF  # 表示每一行最后一列的列号
      6. awk '//' file    # 模糊查找文件中的字符串
      7. awk '//,//' file # 区间范围

      网站公告

      今日签到

      点亮在社区的每一天
      去签到