在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
3.1 查找文本 1992 POSIX标准将这三个改版整合成一个grep程序。 $ who | grep -F austen 3.2.6 在文本文件里进行替换 任何可显示的字符都能作为定界符。 复制代码 代码如下: sed 's;/home/tolstoy/;/home/lt/;' sed 's/\\/\\/g' 用-e和-f选项,不用将多个sed通过管道串起来,就可以一次替换多个。 复制代码 代码如下: $ sed -e 's/foo/bar/g' -e 's/chicken/cow/g' file1.xml > file2.xml 或 $ cat fixup.sed s/foo/bar/g s/chicken/cow/g ... $ sed -f fixup.sed file1.xml > file2.xml 3.2.8 sed的运作 3.3 字段处理 以定界符分隔字段的最好例子就是/etc/passwd了:一行表示一个用户,每个字段以冒号隔开。 3.3.2 使用cut选定字段 复制代码 代码如下: $ cut -d : -f 1,5 /etc/passwd root:root ... tolstoy:Leo Tolstoy $ cut -d : -f 6 /etc/passwd /root ... /home/tolstoy 3.3.3 使用join连接字段 $ cat quotas 复制代码 代码如下: #! /bin/sh # merge-sales.sh # 删除注释并排序数据文件 sed '/^#/d' quotas | sort > quotas.sorted sed '/^#/d' sales | sort > sales.sorted # 以第一个键值作结合 join quotas.sorted sales.sorted # 删除缓存文件 rm quotas.sorted sales.sorted 3.3.4 使用awk重新编排字段 awk程序基本架构:pattern { action } awk自动将各个记录分为字段,并将每条记录内字段数目存储到内建变量NF。 awk -F : '{ print $1, $5 }' /etc/passwd 设置字段分隔字符,-F选项自动设置FS变量。 记得在print的参数间用逗号隔开,否则awk将连接相邻的所有值。 |
请发表评论