awk命令详解:轻松驾驭文本处理利器

awk命令详解:轻松驾驭文本处理利器

awk命令的使用语法如下:

```

awk [选项] '命令' 输入文件

```

我们先来看几个awk命令的简单示例。

  • 统计文本中单词的个数:
  • ```

    awk '{print NF}' test.txt

    ```

  • 统计文本中每行字符的个数:
  • ```

    awk '{print length($0)}' test.txt

    ```

  • 将文本中所有的小写字母转换为大写字母:
  • ```

    awk '{print toupper($0)}' test.txt

    ```

  • 将文本中所有的大写字母转换为小写字母:
  • ```

    awk '{print tolower($0)}' test.txt

    ```

  • 计算文本中数字的总和:
  • ```

    awk '{sum+=$1} END {print sum}' test.txt

    ```

  • 统计文本中出现特定单词的次数:
  • ```

    awk '/specific_word/' test.txt | wc -l

    ```

  • 将文本中每一行的第一个单词替换为另一个单词:
  • ```

    awk '{print substr($0, index($0,$2)+length($2))}' test.txt

    ```

  • 将文本中每一行的最后一个单词替换为另一个单词:
  • ```

    awk '{print substr($0,1,(length($0)-length($NF))-1) $2}' test.txt

    ```

  • 将文本中每一行中的数字替换为另一个数字:
  • ```

    awk '{$1=$1+100}1' test.txt

    ```

    awk命令中有一些内置变量,我们也可以使用这些变量来进行文本处理。

    | 内置变量 | 描述 |

    | --- | --- |

    | NR | 当前记录号 |

    | NF | 当前记录的字段数 |

    | $0 | 当前记录的整个文本 |

    | $1, $2, ... | 当前记录的各个字段 |

    | FS | 字段分隔符 |

    | RS | 记录分隔符 |

    | OFS | 输出字段分隔符 |

    | ORS | 输出记录分隔符 |

    我们还可以通过awk命令来创建自定义函数。自定义函数的语法如下:

    ```

    function function_name(参数列表) {

    函数体

    }

    ```

    例如,我们可以定义一个自定义函数来计算两个数字的平均值:

    ```

    function avg(a, b) {

    return (a + b) / 2

    }

    ```

    然后,我们就可以在awk命令中使用这个自定义函数了:

    ```

    awk 'BEGIN {print avg(10, 20)}'

    ```

    标签:awk,文本处理,脚本语言,Linux,Unix

    > 同类文章:

    > 还有这些值得一看:

    粤ICP备2023131599号