没有合适的资源?快使用搜索试试~ 我知道了~
Linux 三剑客 Awk、Sed、Grep 命令详解
5星 · 超过95%的资源 需积分: 5 9 下载量 180 浏览量
2022-08-17
15:51:02
上传
评论 2
收藏 23KB DOCX 举报
温馨提示
试读
5页
Linux 三剑客 Awk、Sed、Grep 命令详解
资源推荐
资源详情
资源评论
Linux 三剑客 Awk、Sed、Grep 命令详解
Linux 三剑客 Awk 命令详解
命令名称
Awk pattern scanning and processing language
命令作用
对文本和数据进行处理
详细说明
awk 是一种编程语言,用于在 linux/unix 下对文本和数据进行处理。数据可以来自标准输(stdin)、一个或多个文件,
或其它命令的输出。它在命令行中使用,但更多是作为脚本来使用。awk 有很多内建的功能,比如数组、函数等,
这是它和 C 语言的相同之处,灵活性是 awk 最大的优势。
语法格式
awk [options] 'scripts' var=value filename
常用参数
-F 指定分隔符(可以是字符串或正则表达式)
-f 从脚本文件中读取 awk 命令
-v var=value 赋值变量,将外部变量传递给 awk
脚本基本结构
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' filename
一个 awk 脚本通常由 BEGIN 语句+模式匹配+END 语句三部分组成,这三部分都是可选项
工作原理:
第一步执行 BEGIN 语句
第二步从文件或标准输入读取一行,然后再执行 pattern 语句,逐行扫描文件到文件全部被读取
第三步执行 END 语句
实例展示:
echo "hello " | awk 'BEGIN{ print "welcome" } END{ print "2017-08-08" }'welcome2017-08-08echo -
e "hello" | awk 'BEGIN{ print "welcome" } {print} END{ print "2017-08-08" }'welcomehello2017-08-08#不加 print 参数
时默认只打印当前的行 echo|awk '{ a="hello"; b="nihao"; c="mingongge"; print a,b,c; }'hello nihao mingongge#使用
print 以 逗 号 分 隔 时 , 打 印 则 是 以 空 格 分 界
echo|awk '{ a="mgg"; b="mingg"; c="mingongge"; print a" is "b" or "c; }'mgg is mingg or mingongge#awk 的 print
语句中双引号其实就是个拼接作用
Awk 的变量
内置变量
$0 #当前记录$1~$n #当前记录的第 N 个字段 FS #输入字段分隔符(-F 相同作用)默认空格 RS #输入记录分割
符,默认换行符 NF #字段个数就是列 NR #记录数,就是行号,默认从 1 开始 OFS #输出字段分隔符,默认空格
ORS #输出记录分割符,默认换行符
外部变量
[mingongge@ ~]#a=100[mingongge@ ~]#b=100[mingongge@ ~]#echo |awk '{print v1*v2 }' v1=$a v2=$b10000
Awk 运算与判断
算术运算符
+ - 加减* / & 乘 除 求余^ * 求幂++ -- 增加或减少,作为前缀或后缀
[mingongge@ ~]#awk 'BEGIN{a="b";print a,a++,a-
-,++a;}'b 0 1 1[mingongge@ ~]#awk 'BEGIN{a="0";print a,a++,a-
-,++a;}'0 0 1 1[mingongge@ ~]#awk 'BEGIN{a="0";print a,a++,--a,++a;}'0 0 0 1#和其它编程语言一样,所有用作算
术运算符进行操作,操作数自动转为数值,所有非数值都变为 0
赋值运算符
= += -= *= /= %= ^= **=
正则运算符
~ !~ 匹配正则表达式/不匹配正则表达式
逻辑运算符
动之君
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页