好像不能用啊,比如定义了一个file_path 然后awk '/abc/{printf "%s", $file_path}' file $file_path就是不能用的
例如:有一文本list [code] #cat list aaaa 123456.12 800001 bbbb 654321.22 800002 ccccc 124686554 800003 dddd -45846456.12 800004 [/code] 希望能生成一个新的文本newlist,效果如下 [code] #cat newlist aaaa 123,456.12 800001 bbbb 654,321.22 800002 ccccc 124,686,554.00 800003 dddd -45,846,456.12 800004 [/code] 现有数字处理脚本tho.sh: [code] #cat sho.sh if test `echo $1 | grep '\.'` then head=`echo $1...
我在shell中使用:a=`awk 'NR==$shellVAR{print $5}' /abc`, 其中shellVAR是shell中的变量,我想取出文件abc中第$shellVAR行的第5列,放到a中,可执行结果总是不对,我想是不是shell中的变量无法传递到awk中呢,或者awk把shellVAR当做自己的变量了? 问题是:awk如何使用shell中的变量呢?
高手指教: 请问如何在awk的模式中使用shell变量如: 查找smb的进程id a=smb ps -A | awk '/$a/ print $1' 但不知道如何将a的值传递到awk的模式中
#who -u root console Jul 5 14:19 0:13 324 (:0) root pts/3 Jul 26 02:54 . 666 (:0.0) root pts/4 Jul 26 02:55 . 669 (:0.0) root pts/5 Jul 26 02:56 . 672 (:0.0) root pts/7 Jul 26 02:58 . 678 (:0.0) root pts/8 Jul 26 02:59 . 695 (:0.0) root pts/9...
这是我看到的一个shell语句: module是shell中定义的一个变量, major=`awk "\\$2==\"$module\"{print \\$1}" /proc/devices` 执行 `` 中间的命令时,$module应该是先被替换,然后执行awk。 我想直接把它输出到终端屏幕上, echo `awk "\\$2==\"$module\"{print \\$1}" /proc/devices` 能够完成,但有点绕弯,想直接用awk来完成 awk '$2==...{print $1}' /proc/devices 就是不知道怎么处理 ...处,麻烦高人指路,谢谢。
我在awk命令中用了system命令,export 了一个变量,但是在awk程序中不能用,没有值。 gawk '{system("export cc=39"); print ENVIRON["$cc"]}' 结果是空的 export了以后,应该这个变量就在系统里面了吧? 哪位能告诉怎么回事啊? 。。。。%……¥……※% 多谢! :em08: