ORACLE技术站点上关于awk的一篇文章: http://otn.oracle.com/pub/articles/dulaney_awk.html
awk:linux 管理员的智能工具包 作者 Emmett Dulaney 您正在学习 linux 吗?本文对于非常有用的 awk 文本操作工具进行了介绍,非常有价 值。 awk 实用工具带有其自己的自包含语言,它不仅是 linux 中也是任何环境中现有的功 能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)的最大功能取 决于一个人所拥有的知识。它允许...
有一个名为test的文件: 1DRG CAA 1 0.757 0.337 0.506 1DRG CAB 2 0.768 0.487 0.534 1DRG CAC 3 0.669 0.53 0.642 1DRG CAD 4 0.68 0.68 0.67 1DRG CAE 5 0.581 0.723 0.778 1DRG CAF 6 0.592 0.873 0.805 1DRG OAG 7 0.498 0.91 0.907 1DRG HAA 8 0.504 1.008 0.924 我想把第一列变成2DRG,第二列不变,第三列都加8(加1后把得到的结果右对齐),第四列,第五列,第六列分别加0.01,请问如何用awk或者linux的命令...
SUNOS 5.9 ppid=$(ps -ef | grep "sendAlert.sh" | grep -v grep | awk '{ print $2 }') pid=$(ps -o pid,ppid -aef|awk '{ if ( $2 == $ppid ) { print $1 }}') if [[ $ppid != "" ]] then echo "kill process $ppid" echo "kill child process $pid" # kill -9 $pid $ppid fi why pid=$(ps -o pid,ppid -aef|awk '{ if ( $2 == $ppid ) { print $1 }}') can not find $ppid. Thanks
我想处理一个文件,先匹配到第某一行如第2行,然后修改从这行往下面数的第3行.用awk怎么处理?我试了下面的语句,好像不行,FCDF被重写了为何改不了第3行? # cat ttt.txt FIRST BEST BEST2 # awk 'BEGIN{print "-----Begin"} {if(/BEST/){FF=NR+1;print FF} if(NR==FF)print "test"} END{print "-----END"}' ttt.txt -----Begin 3 4 -----END