您的位置:首页 > 其它

几个awk的使用实例

2007-07-12 14:09 288 查看
awk的功能很强大,但使用却很复杂,如果没有系统的去学习他的语法规则,则用起来不会那么得心应手。这里,并不是awk的完全手册,只是总结一下平时最常用的一些awk的使用:

1。 查找系统所有的用户
bash-3.00# awk -F: '{print $1}' /etc/passwd
root
daemon
bin
sys
adm
lp
uucp
nuucp
smmsp
listen
gdm
webservd
nobody
noaccess
nobody4
user
gk
tet
其中,-F:设定分隔符为:,'{print $1}'打印第一个字符段。

2. 将当前目录下所有以"#!/bin/sh"开头的文件改为"#!/bin/bash"

#!/bin/bash
cd /opt/SUNWstc-tetlite/XVS

find . | xargs grep -n '#!/bin/sh' | grep ':1' | awk -F: '{print $1}' > /tmp/0.0

for NAME in `cat /tmp/0.0 | sed 's//n/ /g'`
do
sed '1 s/sh/bash/g' $NAME > /tmp/1.1
mv /tmp/1.1 $NAME
done

rm /tmp/0.0

3. 将当前目录下所有文件中的"grep -q"改为"grep"
#!/bin/bash
cd /opt/SUNWstc-tetlite/XVS

find . | xargs grep 'grep -q' | awk -F: '{print $1}' > /tmp/0.0

for NAME in `cat /tmp/0.0 | sed 's//n/ /g'`
do
sed 's/grep -q/grep/g' $NAME > /tmp/1.1
mv /tmp/1.1 $NAME
done

rm /tmp/0.0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: