linux命令awk例子

不及物动词 其他 94

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Awk是一种强大的文本处理工具,它可用于处理结构化的文本文件,并进行搜索、过滤、计算以及格式化等操作。以下是一些实际应用场景中常用的awk命令示例:

    1. 打印文件中的特定列:
    awk ‘{print $1, $3}’ file.txt
    这个命令将打印出文件file.txt中的第一列和第三列。

    2. 过滤指定条件的行:
    awk ‘$2 > 50’ file.txt
    此命令将筛选出文件file.txt中第二列大于50的行,并打印出来。

    3. 计算文件中的行数、列数和字符数:
    awk ‘END{print NR, NF, NR*NF}’ file.txt
    这个命令将统计文件file.txt的行数、列数以及字符数,并在文末打印出来。

    4. 根据关键字搜索并替换:
    awk ‘{gsub(“old”, “new”); print}’ file.txt
    该命令将在文件file.txt中搜索所有出现的”old”关键字,并将其替换为”new”,然后打印出所有行。

    5. 计算文件中某一列的总和:
    awk ‘{sum += $3} END{print sum}’ file.txt
    这个命令将计算文件file.txt中第三列的所有数值总和,并在文末打印出来。

    6. 根据特定条件分组求和:
    awk ‘{sum[$1] += $2} END{for (i in sum) print i, sum[i]}’ file.txt
    这个命令将按照第一列的值进行分组,并计算每个组中第二列的求和,并打印出来。

    7. 利用正则表达式进行模式匹配:
    awk ‘/pattern/ {print}’ file.txt
    此命令将打印出文件file.txt中匹配到模式”pattern”的行。

    以上是一些常用的awk命令示例,这些例子可以帮助你更好地理解并使用awk命令进行文本处理和分析。你也可以根据实际需求,结合awk的强大功能,灵活运用它来完成更复杂的文本处理任务。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    1. 提取文件中的特定字段:
    “`
    $ cat file.txt
    Alice 25
    Bob 30
    Charlie 40

    $ awk ‘{print $2}’ file.txt
    25
    30
    40
    “`

    2. 根据条件过滤行:
    “`
    $ awk ‘$2 > 28’ file.txt
    Bob 30
    Charlie 40
    “`

    3. 统计文件的行数、单词数和字符数:
    “`
    $ awk ‘END{print NR, “lines”, NW, “words”, NC, “characters”}’ file.txt
    3 lines 7 words 16 characters
    “`

    4. 自定义分隔符:
    “`
    $ cat file.csv
    Alice,25
    Bob,30
    Charlie,40

    $ awk -F’,’ ‘{print $2}’ file.csv
    25
    30
    40
    “`

    5. 修改文件内容:
    “`
    $ cat file.txt
    Hello, world!

    $ awk ‘{gsub(“world”, “everyone”); print}’ file.txt
    Hello, everyone!
    “`

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    一、什么是awk命令
    AWK 是一种文本处理工具,它在处理文本文件中的数据时非常方便和强大。AWK 工具采用了类似于 C 语言的语法结构,它将每一行文字视为一组字段,字段之间以分隔符分隔,默认的分隔符是制表符或空格。AWK 可以对这些字段进行各种操作,如打印、匹配、替换和计算等操作。

    二、AWK 命令的基本结构
    AWK 命令的基本结构为:“pattern {action}” 。其中,pattern 表示要匹配的模式,action 是对匹配模式下的处理操作。

    AWK 命令的运行机制:逐行读取输入流(文本文件或管道)中的每一行,按照指定的分隔符将每一行切分成多个字段,并根据指定的模式是否匹配来执行对应的操作。

    三、AWK 命令的常用用法

    1. 打印整行内容
    命令格式:awk ‘{print}’ filename
    示例:
    $ cat input.txt
    Hello, World!
    $ awk ‘{print}’ input.txt
    Hello, World!

    2. 打印指定的字段
    命令格式:awk ‘{print $字段位置}’ filename
    示例:
    $ cat input.txt
    Hello, World!
    $ awk ‘{print $2}’ input.txt
    World!

    3. 使用指定的分隔符
    命令格式:awk -F ‘分隔符’ ‘{print $字段位置}’ filename
    示例:
    $ cat input.txt
    Hello, World!
    $ awk -F ‘,’ ‘{print $1}’ input.txt
    Hello

    4. 匹配指定模式的行
    命令格式:awk ‘/匹配模式/ {print}’ filename
    示例:
    $ cat input.txt
    Hello, World!
    Goodbye, World!
    $ awk ‘/Hello/ {print}’ input.txt
    Hello, World!

    5. 运算和条件判断
    命令格式:awk ‘{操作表达式}’ filename
    示例:
    $ cat input.txt
    Apple 3.1
    Banana 2.5
    $ awk ‘{if ($2 > 3) print $1}’ input.txt
    Apple

    四、AWK 命令的高级用法
    除了上述基本用法外,AWK 还支持其他一些高级的操作,例如定义变量、循环等操作。

    1. 定义变量
    命令格式:awk ‘BEGIN {变量名 = 初始值} {print 变量名}’ filename
    示例:
    $ cat input.txt
    Apple 3.1
    Banana 2.5
    $ awk ‘BEGIN {price = 0} {price = price + $2} END {print price}’ input.txt
    5.6

    2. 循环操作
    命令格式:awk ‘{for (变量 in 数组) {操作}}’ filename
    示例:
    $ awk ‘{for (i = 1; i <= 5; i++) print i}' input.txt123453. 自定义函数命令格式:awk '函数名() {操作}' filename示例:$ cat input.txtHello, World!Goodbye, World!$ awk 'function my_function() {print "Hello, AWK!"} BEGIN {my_function()} {my_function()}' input.txtHello, AWK!Hello, AWK!五、总结AWK 是一个强大的文本处理工具,可以通过简单的命令实现对文本内容的操作、匹配和统计等功能。以上介绍了AWK 命令的基本结构和常用用法,以及一些高级的操作。熟练掌握 AWK 命令可以大大提高在 Linux 环境下的文本处理效率。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部