sed 的用法
sed编辑器称作stream editor。如vim则是交互式文本编辑器。流编辑器就是在处理数据之前基于预先提供的一组规则来编辑数据。
sed编辑器的具体操作:
1.一次从输入中读取一行数据
2.根据所提供的编辑器命令匹配数据
3.按照命令修改流中的数据
4.将新的数据输出到stdout
命令格式:
set option script file
-e 脚本
-f file
-n 使用print输出
1.替换
sed 's/dog/cat/' file.txt //将file总的dog都更改为cat
sed -e 's/dog/cat/; s/brown/green/' file.txt 同时替换两个字符
sed -e '
>s/brown/green/
>s/fox/cat/
>s/dog/cat data1.txt
2.从文件中读取编辑器命令
sed -f script1.sed data1.txt
awk 的用法
awk命令格式和选项:
awk [options] 'script' var=value file(s)
awk [options] -f scriptfile var=value file(s)
-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如 -F:
-v var=value 复制一个用户定义变量,将外部变量传递给awk
-f scriptfile 从脚本文件读取awk
-m[fr] val 对val值设置内在限制,
awk模式和操作
awk脚本是由模式和操作组成的。
模式可以是以下任意一个:
- /正则表达式/:使用通配符的扩展集
- 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试
- 模式匹配表达式:用运算符~(匹配)和~!(不匹配)
- BEGIN语句块,pattern语句块,END语句块:参见awk的工作原理
- 变量或数值赋值
- 输出命令
- 内置函数
- 控制流语句