虽然shell脚本本身完成很多事情,但是单凭shell脚本通常很难处理数据。Linux提供了两个方便的工具来帮助处理文本数据。
概述
sed & gawk 的介绍
sed编辑器介绍
作为一款流编辑器(对行进行编辑),其擅长对行信息进行操作(增删改查)
gawk程序介绍
gawk程序是一个来自GNU组织的工具,它模仿并扩展Unix中awk程序的功能。gawk程序内建了编程语言,可用来编写处理数据的脚本。可以用gawk程序从大型数据文件中提取数据元素,并将它们按照需要的格式输出。便于处理大型日志文件以及从数据文件生成定制报表。
sed & gawk 的使用
-
sed入门
# 测试文件 [root@smartgirl] cat data.txt abcsasadd asasf sasasabcsaas # 替换文本 [root@smartgirl] sed 's/abc/bcd/' data.txt # 多个命令 [root@smartgirl] sed -e 's/ab/bc/; s/cd/ef/' data.txt [root@smartgirl] sed -e ' >s/ab/cd/ >s/bc/ef/ >' data.txt # 从文件读取命令 [root@smartgirl] cat script.sed s/ab/cd/ s/bc/ef/ --------------------- sed -f script.sed data.txt # 为了避免混淆,可以给保存命令的脚本文件添加.sed后缀
-
gawk基础
# 接收到一行数据就进行处理,处理结果,输出Hello world! gawk '{print "Hello world!"}' # 要结束这个gawk程序,可以用Ctrl+d来产生一个EOF # 在gawk中, $0 --- 整行 $1 第一个字段 $2第二个字段 默认的FS是空白字符