LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 746|回复: 3

变量替换的问题

[复制链接]
发表于 2006-12-1 16:06:20 | 显示全部楼层 |阅读模式
#!/bin/bash
for a in $*
do
awk '/E0/{printf "%s %s\n",$1,$7;x=x+$7}
     END{printf "%10.8f\n",x/300}' $a > g$a
E = `tail -1 "g$a"`
#似乎在``中无法实现变量替换g$a,或者写法不对望大虾指教
echo $E
done
错误提示
line 6: E: command not found
发表于 2006-12-1 16:31:39 | 显示全部楼层
Post by tao
#!/bin/bash
for a in $*
do
awk '/E0/{printf "%s %s\n",$1,$7;x=x+$7}
     END{printf "%10.8f\n",x/300}' $a > g$a
E = `tail -1 "g$a"`
#似乎在``中无法实现变量替换g$a,或者写法不对望大虾指教
echo $E
done
错误提示
line 6: E: command not found

这句话:E = `tail -1 "g$a"` 里,=号两边有空格,你去掉空格看看。行不??
E=`tail -1 "g$a"`
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-1 16:44:07 | 显示全部楼层
可以了,谢谢.
想问一下,正则表达式中如何表示存在括号(的行,awk里输入'/(/{print;}'找不到匹配的行。
回复 支持 反对

使用道具 举报

发表于 2006-12-1 16:59:42 | 显示全部楼层
Post by tao
......
想问一下,正则表达式中如何表示存在括号(的行,awk里输入'/(/{print;}'找不到匹配的行。

用转义字符:'\';awk '/\(/{print}' file ,grep也可以的:grep '(' file
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表