Friday, June 16, 2006

The Linux Administrators' Wisdom Kit : Awk and Sed

administor's wisdom kit: sed and awk这两天在Oracle的文档中心相继发现两篇sedawk的强文,感觉非常不错,是我看过的文章中示例最好,条理最清晰的文章之一。

示例:
如果想 注释掉 /boot/grub/menu.lst 中的一些行,可以先用awk找到行号
$awk '{print NR, $0}' /boot/grub/menu.lst
[.....]
115 boot
116
117 title Ubuntu, kernel 2.6.15-23-k7 (recovery mode)
118 root (hd0,6)
119 kernel /vmlinuz-2.6.15-23-k7 root=/dev/hda9 ro single
120 initrd /initrd.img-2.6.15-23-k7
121 boot
122
123 title Ubuntu, kernel 2.6.15-23-386
124 root (hd0,6)
125 kernel /vmlinuz-2.6.15-23-386 root=/dev/hda9 ro quiet splash
126 initrd /initrd.img-2.6.15-23-386
127 savedefault
128 boot
129
130 title Ubuntu, kernel 2.6.15-23-386 (recovery mode)
[.....]

如果你想注释掉 123-128 这几行,接下来就是用 sed 了
$sed '123,128 s/^/#/' /boot/grub/menu.lst
[......]
boot

#title Ubuntu, kernel 2.6.15-23-386
#root (hd0,6)
#kernel /vmlinuz-2.6.15-23-386 root=/dev/hda9 ro quiet splash
#initrd /initrd.img-2.6.15-23-386
#savedefault
#boot

title Ubuntu, kernel 2.6.15-23-386 (recovery mode)
[.......]


当然,更好的运用awk和sed可以让系统管理变得灵活、快速而又简单。

No comments:

Post a Comment