Linux运维常用awk命令使用

awk 是一种文本处理工具,经常用于对 Linux 系统中的文本文件进行处理。

1、awk 查找指定文本

awk '/orange/ {print}' file.txt

这个命令将在 file.txt 文件中查找包含orange 的行,并将这些匹配的内容打印出来。

awk '/pattern/ {print NR ":" $0}' file.txt

这个命令将在file.txt 文件中查找包含 pattern 的行,并将这些行号以及匹配的内容打印出来。

注意:“:”冒号是显示样式,显示结果为匹配的行号:内容。NR awk 内置的行号变量,表示当前处理的行号。

2、awk 分隔符来处理文件

awk -F"," '{print $1}' file.txt

这个命令将在 file.txt 文件中以逗号为分隔符,输出每行的第一个字段。

3、awk 进行计算

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

这个命令将对 file.txt 文件中的第一列进行求和,并输出总和。

4、awk 进行条件判断

awk '{if ($1 > 50) print $0}' file.txt

这个命令将在 file.txt 文件中找到第一列大于 50 的行,并打印出整行内容。

5、awk 进行格式化输出

awk '{printf("%-10s %-5s\n", $1, $2)}' file.txt

awk 读取 file.txt 文件中的每一行,并使用 printf 函数按照指定格式输出每行的第1和第2个字段,字段之间以空格隔开。%-10s 指定第1个字段占据10个字符的宽度,并且左对齐;%-5s 指定第2个字段占据5个字符的宽度,并且左对齐。所以输出结果中,第1列的字符宽度为10,第2列的字符宽度为5,并且左对齐。

6、awk对文件进行分组统计

awk '{ count[$1]++ } END { for (word in count) { print word, count[word] } }' file.txt

这个命令将对 file.txt 文件中的第一列进行分组统计,输出每个单词出现的次数。

7、awk从文件中查找最大值和最小值

awk 'BEGIN { max=0; min=99999 } { if ($1>max) max=$1; if ($1<min) min=$1 } END { print "Max:", max, "Min:", min }' file.txt

这个命令将在 file.txt 文件中查找第一列的最大值和最小值,并输出结果。

8、awk 进行匹配和替换

awk '{ sub(/old_pattern/, "new_pattern", $0); print }' file.txt

这个命令将在 file.txt 文件中将第一次匹配到的 old_pattern 替换为 new_pattern,并将替换后的结果打印出来。

注意:该操作不会改变源文件内容

9、awk 进行排列和排序

awk '{ print length($0), $0 }' file.txt | sort -n | cut -d' ' -f2-

这个命令将对 file.txt 文件中的每行字符串按照长度进行排序,并将排序后的结果输出。

cut -d' ' -f2- 命令的含义如下:

  • cut 命令用于对文本文件进行分割处理,以提取所需的字段。
  • -d' ' 选项指定字段分隔符为空格,即将文本按照空格分割为多个字段。
  • -f2- 选项指定提取从第2个字段开始到行末的所有字段内容。其中,2- 表示从第2个字段开始提取,而没有指定结束字段,则默认提取到行末。

sort -n 命令的含义如下:

  • sort 命令用于对文本文件进行排序。
  • -n 选项指定将文本文件按照数字大小进行升序排序,而不是按照字符的字典顺序排序。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值