原帖由 ruifox 于 2006-1-20 18:23 发表
...
另外再请教大家一个问题,比如以下这个例子:
a.sh脚本内容
CPU_MIN=90
cat aa|awk "{print $CPU_MIN,$1}"
执行时带个参数:a.sh 1234
如果按你的说法应该显示: 90 1234
但实际上只显示90,为什么$1的值没有取到,是否应该和awk本身的变量定义有冲突。如果不使用中间变量,这个1234如何传递到awk中?
原帖由 woodie 于 2006-1-23 09:37 发表
$1是awk的特殊变量,不应该被shell解释。可以这样:
cat aa|awk "{print $CPU_MIN,\$1}"
建议你去读读十三问中关于单双引号的论述。
原帖由 idiotqxf 于 2006-2-19 17:11 发表
第4点行:awk -F "|" '{print $1}' file 按照新的分隔符“|”进行操作。
错误:应该是awk -F ‘|’'{print $1}' file 按照新的分隔符“|”进行操作。
原帖由 ruifox 于 2006-1-20 18:23 发表
非常感谢6楼的指出了我的错误!
不过我对单引号和双引号的用法仍然有点糊涂:
如果说单引号不做处理,为什么用单引号括住的系统变量会取到值abcd,而不是$Flag,我觉得你说的不做处理应该是指最外面的一层单 ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |