譬如处理这样的一个文档: [code] [...any lines comprised of any characters may be here] #The variables are given in the third line below this line: [random first line] [random second line] 111 222 1000 ... [blabla...] [/code] 想把上面"#The variables are given in the third line below this line:"下数第三行中的三个数分别赋值,如 A=111,B=222, C=1000,... 怎么实现呢?模式匹配后如何下数几行呢?
有一个名为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的命令...
awk、SED、GREP在AIX5.2下的MAN文档,是guevara要的! 偶也在学!贴出共勉! 偶觉得请教netman、valentine, admirer, r2007 几位老大及BJMM、michaelds 等前辈更直接些! 系统不同,有所差异,而且这几个工具都有专门的书籍介绍,肯定比MAN更全,所以仅供参考! [code]awk 命令 用途 在文件中查找与模式匹配的行,然后在它们上面执行特定的操作。 语法 awk [ -F Ere ] [ -v Assignment ] ... { -f ProgramFile | 'Program' } [ [ File ...
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