2025年【笔记】三剑客之awk、sed后向引用

【笔记】三剑客之awk、sed后向引用sed 后向引用 语法格式 sed r s 1 g file 1 表示获取第一个括号中的内容 sed 支持扩展正则需要加 r 参数 案例 1 调用括号中的内容 root ahui echo root sed r s root 1 g root 案例 2 匹配字符串调用内容 root

大家好,我是讯享网,很高兴认识大家。

sed后向引用

语法格式:
sed -r ‘s#()#\1#g’ file # \1 表示获取第一个括号中的内容
sed支持扩展正则需要加r参数

案例1: 调用括号中的内容

 [root@ahui ~]#echo root|sed -r 's#(root)#\1#g' root 

讯享网

案例2: 匹配字符串调用内容

讯享网[root@ahui ~]#echo root ahui|sed -r 's#(root) ahui#\1#g' root [root@ahui ~]#echo root ahui|sed -r 's#root (ahui)#\1#g' ahui [root@ahui ~]#echo root ahui|sed -r 's#(root) (ahui)#\1#g' root [root@ahui ~]#echo root ahui|sed -r 's#(root) (ahui)#\2#g' ahui 

案例3: 支持正则

[root@ahui ~]#echo root ahui|sed -r 's#(r.*t) (ahui)#\2#g' ahui [root@ahui ~]#echo root ahui|sed -r 's#(r.*t) (ahui)#\1#g' root 

案例4: 对输出的内容格式化输出

讯享网[root@ahui ~]#echo root ahui|sed -r 's#(r.*t) (ahui)#<\1><\2>#g' <root><ahui> [root@ahui ~]#echo root ahui|sed -r 's#(r.*t) (ahui)#<\1> <\2>#g' <root> <ahui> 

案例5: 使用sed后向引用获取IP地址

[root@ahui ~]#ifconfig eth0|grep netmask inet 10.0.0.200 netmask 255.255.255.0 broadcast 10.0.0.255 [root@ahui ~]#ifconfig eth0|sed -n '2p' inet 10.0.0.200 netmask 255.255.255.0 broadcast 10.0.0.255 

第二步: 将输出的字符串写入替换位置 然后使用后向引用输出结果

讯享网[root@ahui ~]#ifconfig eth0|sed -n '2p'|sed -r 's# inet (10.0.0.200) netmask 255.255.255.0 broadcast 10.0.0.255#\1#g' 10.0.0.200 

第三步: 使用正则表示字符串

[root@ahui ~]#ifconfig eth0|sed -n '2p'|sed -r 's#^.*inet (.*) net.*$#\1#g' 10.0.0.200 

案例6: 通过后向引用将输出结果特殊的符号进行处理

讯享网[root@ahui ~]#yum -y install bc [root@ahui ~]#echo 1+1|bc 2 [root@ahui ~]#echo 1+2+3+4+5+6+7+8+9+10|bc 55 [root@ahui ~]#echo {1..10}+ 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10+ [root@ahui ~]#echo {1..10}+|bc (standard_in) 2: syntax error [root@ahui ~]#echo 1+2+3+4+5+6+7+8+9+10+|bc (standard_in) 2: syntax error [root@ahui ~]#echo {1..10} 1 2 3 4 5 6 7 8 9 10 

使用sed替换空格为+

[root@ahui ~]#echo {1..10}|sed 's# #+#g' 1+2+3+4+5+6+7+8+9+10 [root@ahui ~]#echo {1..10}|sed 's# #+#g'|bc 55 [root@ahui ~]#echo {1..10}+|sed -r 's#(.*)#\1#g' 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10+ [root@ahui ~]# [root@ahui ~]# [root@ahui ~]#echo {1..10}+|sed -r 's#(.*)#\10#g' 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10+0 [root@ahui ~]#echo {1..10}+|sed -r 's#(.*)#\10#g'|bc 55 [root@ahui ~]#echo {1..10}|tr " " "+"|bc 55 

案例: 使用后向引用处理最后输出的字符

讯享网[root@ahui ~]#seq 10|tr "\n" "+" 1+2+3+4+5+6+7+8+9+10+[root@ahui ~]# [root@ahui ~]#seq 10|tr "\n" "+"|sed -r 's#(.*)#\1#g' 1+2+3+4+5+6+7+8+9+10+[root@ahui ~]# [root@ahui ~]# [root@ahui ~]#seq 10|tr "\n" "+"|sed -r 's#(.*)#\10\n#g' 1+2+3+4+5+6+7+8+9+10+0 [root@ahui ~]# [root@ahui ~]#seq 10|tr "\n" "+"|sed -r 's#(.*)#\10\n#g'|bc 55 

案例: 从1加到100

[root@ahui ~]#echo {1..100}|sed 's# #+#g'|bc 5050 [root@ahui ~]#echo {1..100}+|sed -r 's#(.*)#\10#g'|bc 5050 [root@ahui ~]#seq -s + 100|bc 5050 

案例:ps axuf 输出第五列的结果进行相加

讯享网[root@ahui ~]#ps axuf |awk '{print $5}'|tr "\n" "+" VSZ+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0++39080+45308+55508++26440+58196++++99652++++99152+++++++++++++++++[root@ahui ~]# [16:36:25 root@oldboyedu ~]#ps axuf |awk 'NR!=1{print $5}'|tr "\n" "+1"|sed -r 's#(.*)#\10\n#g'|bc  

awk

  1. 取行
  2. 取列
  3. 编程语言 支持判断 循环 数组
  4. 支持运算 数据统计
  5. 格式化输出

语法结构:

  1. awk ‘模式’ file 只有模式不写动作(默认为输出动作) 输出的是模式中查找到的所有内容
    awk ‘模式{print}’ 默认输出动作 可省略
  2. cat file|awk ‘模式{动作}’
  3. awk ‘找谁{干啥}’ file
  4. awk ‘{动作}’ file 只有动作 处理所有的行
    awk内置变量:
    第一个: NR 存储着每一行的行号
    第二个: $0 存储每一行的内容
    第三个: $n 表示第n列
    第四个: , 动作{}中的 表示空格

awk取行

语法格式:
awk ‘NR==3’ file
NR 为awk的内置变量 存储着每一行的行号

  • == 等于n行
  • > 大于n行
  • >= 大于等于
  • < 小于
  • <= 小于等于
  • != 不等于
  • && 并且
  • || 或者

案例1: 获取文件中的第三行

[root@ahui ~]#cat passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@ahui ~]#awk 'NR==3' passwd.txt  daemon:x:2:2:daemon:/sbin:/sbin/nologin 

案例2: 查找文件中大于3行的内容

讯享网[root@ahui ~]#awk 'NR>3' passwd.txt  root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 

案例3: 查找文件中大于等于3的内容

[root@ahui ~]#awk 'NR>=3' passwd.txt  daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 

案例4: 查找文件中小于3的内容

讯享网[root@ahui ~]#awk 'NR<3' passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin 

小于等于等于3

[root@ahui ~]#awk 'NR<=3' passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 

案例5: 除了第三行输出其他所有行

讯享网[root@ahui ~]#awk 'NR!=3' passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 

案例6: 查找NR等于1 并且 NR小于4的行

[root@ahui ~]#awk 'NR==1 && NR<4' passwd.txt  root:x:0:0:root:/ahui:/bin/bash 

案例7: 查找NR等于1 或者NR大于4的行

讯享网[root@ahui ~]#awk 'NR==1 || NR>4' passwd.txt  root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 

案例8: 取出系统中磁盘的使用率的行

查看磁盘: df -h

[root@ahui ~]#df -h|grep '/$' /dev/sda3 19G 2.1G 17G 11% / [root@ahui ~]#df -h|sed -n '2p' /dev/sda3 19G 2.1G 17G 11% / [root@ahui ~]#df -h|sed -n '/sda3/p' /dev/sda3 19G 2.1G 17G 11% / [root@ahui ~]#df -h|awk 'NR==2' /dev/sda3 19G 2.1G 17G 11% / [root@ahui ~]#df -h|awk '/\/$/' /dev/sda3 19G 2.1G 17G 11% / 

awk模糊过滤

语法格式:
sed -n ‘//p’ file
awk ‘//’ file
awk ‘//,//’ file # 区间范围

案例1: 查找包含root的行

讯享网[root@ahui ~]#awk '/root/' passwd.txt  root:x:0:0:root:/ahui:/bin/bash root:x:0:0:root:/ahui:/bin/bash 

案例2: 支持正则 以什么开头 以什么结尾

[root@ahui ~]#awk '/^r/' passwd.txt  root:x:0:0:root:/ahui:/bin/bash root:x:0:0:root:/ahui:/bin/bash 

以b开头的行

讯享网[root@ahui ~]#awk '/^b/' passwd.txt  bin:x:1:1:bin:/bin:/sbin/nologin 

以n结尾的行

[root@ahui ~]#awk '/n$/' passwd.txt  bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 

以h结尾的行

讯享网[root@ahui ~]#awk '/h$/' passwd.txt  root:x:0:0:root:/ahui:/bin/bash root:x:0:0:root:/ahui:/bin/bash 

案例3: 并且或者

查找以h的行或者以n结尾的行 [root@ahui ~]#awk '/h$/ || /n$/' passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@ahui ~]# [root@ahui ~]# 

查找以h结尾的行并且行等于1

讯享网[root@ahui ~]#awk '/h$/ && NR==1' passwd.txt  root:x:0:0:root:/ahui:/bin/bash 

案例4: awk的区间范围

[root@ahui ~]#awk '/^b/,/r/' passwd.txt  bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash [root@ahui ~]#cat passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@ahui ~]# [root@ahui ~]#awk '/ahui/,/root/' passwd.txt  root:x:0:0:root:/ahui:/bin/bash root:x:0:0:root:/ahui:/bin/bash 

sed区间范围:

讯享网[root@ahui ~]#sed -n '/ahui/,/root/p' passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash 

唯一值取区间范围

[root@ahui ~]#awk '/linux/,/blog/' ahui.txt I teach linux. test $0 aaaa $# bbbbbb I like badminton ball ,billiard ball and chinese chess! my blog is http: blog.51cto.com [root@ahui ~]#cat 2.txt  ahui root lidao root ahui hehe aaaa bbbb [root@ahui ~]#awk '/ahui/,/root/' 2.txt ahui root ahui hehe aaaa bbbb [root@ahui ~]# [root@ahui ~]# [root@ahui ~]#sed -n '/ahui/,/root/p' 2.txt ahui root lidao root ahui hehe aaaa bbbb 

awk 取列

awk取列 默认按照空格或者tab键作为分隔符
$0 表示每一行的内容
$1 表示第一列
$2 表示第二列
$n 表示第n列


讯享网

案例1: $0 输出所有内容

讯享网[root@ahui ~]#awk '{print $0}' 2.txt  ahui root lidao root ahui hehe aaaa bbbb 

案例2: 输出文件的第一列内容

[root@ahui ~]#cat 2.txt  ahui root lidao root ahui hehe aaaa bbbb [root@ahui ~]#awk '{print $1}' 2.txt  ahui lidao ahui aaaa 

输出文件的第二列内容

讯享网[root@ahui ~]#awk '{print $2}' 2.txt root root hehe bbbb 

案例3: 同时输出第一列和第二列

[root@ahui ~]#awk '{print $2$3}' 2.txt  root123 root234 hehe22 bbbb555 

案例4: 输出多列以空格来分隔

讯享网[root@ahui ~]#awk '{print $2,$3}' 2.txt  root 123 root 234 hehe 22 bbbb 555 

案例5: 以符号作为分隔符使用""

[root@ahui ~]#awk '{print $2"---"$3}' 2.txt  root---123 root---234 hehe---22 bbbb---555 

案例6: 输出结果前后加任意内容

注意: 所有的普通字符串在awk中都看作是变量

讯享网name=ahui echo $name 在双引号中所有的特殊符号都看作普通字符串 [root@ahui ~]#awk '{print $2" "$3}' 2.txt  root 123 root 234 hehe 22 bbbb 555 [root@ahui ~]#awk '{print "user "$2" "$3}' 2.txt  user root 123 user root 234 user hehe 22 user bbbb 555 [root@ahui ~]#echo {1..10}+|awk '{print $0"0"}' 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10+0 [root@ahui ~]# [root@ahui ~]# [root@ahui ~]#echo {1..10}+|awk '{print $0"0"}'|bc 55 

案例7: 输出最后一列的内容

[root@ahui ~]#cat 2.txt  ahui root 123 lidao root 234 ahui hehe 22 aaaa bbbb 555 [root@ahui ~]#awk '{print $NF}' 2.txt  123 234 22 555 

NF 存储着最后一列的列号

讯享网[root@ahui ~]#cat 2.txt  ahui root 123 lidao root 234 ahui hehe 22 aaaa bbbb 555 [root@ahui ~]#awk '{print NF}' 2.txt  3 3 3 3 [root@ahui ~]#cat 2.txt  ahui root lidao root 234 ahui hehe aaaa bbbb 555 aaaa 4444 [root@ahui ~]#awk '{print NF}' 2.txt  2 3 2 4 1 [root@ahui ~]#awk '{print $NF}' 2.txt  root 234 hehe aaaa 4444 

NF-1 表示倒数第二列的列数

[root@ahui ~]#awk '{print $(NF-1)}' 2.txt  ahui root ahui 555 4444 [root@ahui ~]# [root@ahui ~]#awk '{print NF-1}' 2.txt  1 2 1 3 0 [root@ahui ~]#cat 2.txt  ahui root lidao root 234 ahui hehe aaaa bbbb 555 aaaa 4444 

awk 模式+动作

语法格式:
awk ‘{print }’ 动作
awk ‘NR==3’ 模式
awk ‘//’ 模式

案例1: 模式+动作

讯享网[root@ahui ~]#cat 2.txt  ahui root lidao root 234 ahui hehe aaaa bbbb 555 aaaa 4444 [root@ahui ~]#awk 'NR==2' 2.txt  lidao root 234 [root@ahui ~]#awk 'NR==2{print}' 2.txt  lidao root 234 

获取文件中第二行的第二列

[root@ahui ~]#awk 'NR==2{print $2}' 2.txt  root [root@ahui ~]#awk 'NR==4' 2.txt  aaaa bbbb 555 aaaa [root@ahui ~]# [root@ahui ~]# [root@ahui ~]#awk 'NR==4{print $3,$4}' 2.txt  555 aaaa 

通过模糊查找过滤行 然后执行对应的动作

讯享网[root@ahui ~]#awk '/555/' 2.txt  aaaa bbbb 555 aaaa [root@ahui ~]#awk '/555/{print $2,$1}' 2.txt  bbbb aaaa 

案例2: 获取磁盘的使用率

[root@ahui ~]#df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 19G 2.1G 17G 11% / devtmpfs 918M 0 918M 0% /dev tmpfs 929M 0 929M 0% /dev/shm tmpfs 929M 34M 895M 4% /run tmpfs 929M 0 929M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 186M 0 186M 0% /run/user/0 [root@ahui ~]#df|awk '/\/$/{print $(NF-1)}' 11% 

awk 指定分隔符

awk默认空格和tab键作为分隔符
在文件中如果没有空格和tab我们可以指定内容作为分隔符来分隔列数
指定分隔符: -F (可指定任意内容长度的字符串)

案例1: 指定: 为分隔符取出passwd中的第一列用户名称

-F 指定分隔符

讯享网[root@ahui ~]#cat passwd.txt  root:x:0:0:root:/ahui:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin root:x:0:0:root:/ahui:/bin/bash adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@ahui ~]#awk -F: '{print $1}' passwd.txt  root bin daemon root adm lp 

第二种写法:加引号

[root@ahui ~]#awk -F ":" '{print $1}' passwd.txt  root bin daemon root adm lp 

以冒号分隔输出最后一列的内容

讯享网[root@ahui ~]#awk -F: '{print $NF}' passwd.txt  /bin/bash /sbin/nologin /sbin/nologin /bin/bash /sbin/nologin /sbin/nologin 

案例2: 使用任意字符串作为分隔符

以.为分隔符符 分成两列

[root@ahui ~]#echo ahui.com ahui.com [root@ahui ~]#echo ahui.com|awk -F. '{print $1}' ahui [root@ahui ~]#echo ahui.com|awk -F. '{print $2}' com [root@ahui ~]#echo ahui.com|awk -Fd '{print $1}' ol [root@ahui ~]#echo ahui.com|awk -Fd '{print $2}' boye [root@ahui ~]#echo ahui.com|awk -Fd '{print $3}' u.com 

案例3: 统计域名出现的次数取top10 (并且以出现次数的逆序进行排序)

文件中包含以下内容:
http://www.baidu.com/1.html
http://www.sina.com/index.php
http://www.baidu.com/2.html
http://www.sina.com/test.php
http://www.weibo.com/index.html
http://www.baidu.com/index.php

讯享网[root@ahui ~]#awk -F "/" '{print $3}' url.txt |sort|uniq -c|sort -rn|head 3 www.baidu.com 2 www.sina.com 1 www.weibo.com [root@ahui ~]#awk -F "[/]+" '{print $2}' url.txt  www.baidu.com www.sina.com www.baidu.com www.sina.com www.weibo.com www.baidu.com 

awk 计算

awk ‘BEGIN{读取文件前执行的动作}{读取文件执行的动作}’ file
BEGIN 读取文件之前做什么
END 读取文件后做什么
在awk数组中使用
语法结构:

  • awk ‘BEGIN{}’ # 不需要读取文件 直接执行动作
  • awk ‘BEGIN{}{}’ file # 读取文件前做什么 读取文件 对读取到的内容做什么
  • awk ‘{}END{}’ file # 对文件内容做什么 读取完文件之后做什么
  • awk ‘BEGIN{}{}END{}’ # 读取文件前的动作 处理文件内容的动作 读取文件后的动作

案例1: BEGIN 直接输出内容 加双引号

[root@ahui ~]#awk 'BEGIN{print "开始"}' 开始 [root@ahui ~]#awk 'BEGIN{print "开始"}{print $1}' 2.txt 开始 ahui lidao ahui aaaa 4444 [root@ahui ~]#awk 'BEGIN{print "开始"}{print $1}END{print "结束...."}' 2.txt 开始 ahui lidao ahui aaaa 4444 结束.... [root@ahui ~]#awk 'BEGIN{print 10+10}' 20 [root@ahui ~]#awk 'BEGIN{print 10*10}' 100 [root@ahui ~]#awk 'BEGIN{print 10-10}' 0 [root@ahui ~]#awk 'BEGIN{print 10/10}' 1 [root@ahui ~]#awk 'BEGIN{print 10^^10}' [root@ahui ~]#awk 'BEGIN{print 10^10}'  

不使用BEGIN做运算

讯享网[root@ahui ~]#echo 10 20|awk '{print $1,$2}' 10 20 [root@ahui ~]#echo 10 20|awk '{print $1*$2}' 200 [root@ahui ~]#echo 10 20|awk '{print $1+$2}' 30 

案例: 统计内存的使用率

查看内存:

[root@ahui ~]#free total used free shared buff/cache available Mem:    34436   Swap:  0  [root@ahui ~]#free|awk 'NR==2' Mem:    34436   [root@ahui ~]#free|awk 'NR==2{print $3}'  [root@ahui ~]#free|awk 'NR==2{print $3,$2}'   [root@ahui ~]#free|awk 'NR==2{print $3/$2*100}' 6.501 

输出的结果加%

讯享网[root@ahui ~]#free|awk 'NR==2{print $3/$2*100"%"}' 6.50752% 

小结:

  1. awk 取行 模式(找谁)
    NR 行号
    NR==
    > >=
    < <=
    !=
    && ||
  • awk ‘NR==3’ file
  • awk ‘NR==3 && NR<10’ file
  • awk ‘NR==3 && /^r/’ file
  • awk ‘NR==3 || NR>5’ file
  1. awk 模糊查找
    awk ‘//’ file 模糊查找
    awk ‘//,//’ file 区间范围 唯一值之间的范围
  2. awk 取列 动作
    $0 整行内容
    $1 第一列
    • awk ‘{print $1}’ file
    • awk ‘{print $1,$2}’ file # 取第一列第二列之间用空格分隔
    • awk ‘{print NF}’ file # 最后一列的列号
    • awk ‘{print $NF}’ file # 表示最后一列的内容
    • awk '{print $(NF-1)}'file # 文件的倒数第二列
  3. awk 模式+动作
    - awk ‘NR3{print $1}’ file # 第三行的第一列
    - awk 'NR
    3||NR==5{print $1}’# 第三行和第五行的第一列
    - awk ‘/root/{print $NF}’ # 输出包含root行的最后一列
    - awk -F: ‘{print $NF}’ # 输出文件中所有行的最后一列
  4. awk 指定分隔符
    • -F “:” 或者 -F:
    • awk -F: ‘模式{动作}’ file
    • awk -F “[: /]+” ‘模式{动作}’ file
  5. awk计算
  • awk ‘BEGIN{}’ # 不需要读取文件 直接执行动作
  • awk ‘BEGIN{}{}’ file # 读取文件前做什么 读取文件 对读取到的内容做什么
  • awk ‘{}END{}’ file # 对文件内容做什么 读取完文件之后做什么
  • awk ‘BEGIN{}{}END{}’ # 读取文件前的动作 处理文件内容的动作 读取文件后的动作
小讯
上一篇 2025-02-25 09:58
下一篇 2025-03-05 10:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54022.html