awk 中system 函数如何调用shell 脚本的位置参数。
(2013-01-20 03:05:52)
标签:
位置
的
system
如何
杂谈
awk 中system 函数如何调用shell 脚本的位置参数。文件sql.cfg内容如下:
dailypaymentusers "select count(distinct xid) from payment where
create_time>(unix_timestamp()*1000-24*3600000) and
state>=2"
dailypaymentcount "select count(*) from payment where
create_time>(unix_timestamp()*1000-24*3600000) and
state>=2"
mining.sh脚本的内容:
#bin/bash
awk '{system(echo 'sql.cfg的第一个字段'`mysql-u 位置参数1 -p 位置参数2位置参数3 -e
"sql.cfg的第二个字段" --skip-column-names-s)`}'sql.cfg
mining.sh脚本的参数:DB_USER(位置参数1)DB_PASSWORD(位置参数2)DB_NAME(位置参数3)
Tim 你看看吧。awk -v u=$1 -v p=$2 -v n=$3 '{cmd="mysql-u "u" -p "p" "n"
-e "$2" --skip-column-names-s";cmd|getline v;print $1,v}' sql.cfg回复
#2 ly5066113 的帖子哇! 眼前一亮啊!! 思路真是清晰!! Tim
就是牛啊。、再请问一下system怎么让cmd执行?
[ 本帖最后由 greendays 于 2009-12-9 17:40 编辑 ]回复 #3 greendays
的帖子system函数中可以调用awk变量,awk变量可以来自shell变量
# var=echo
# awk -v v=$var 'BEGIN{system(v" xxx")}'
xxxsystem中怎样使用变量?刀片服务器步入企业核心业务渐成趋势
r />
如www.hc3600.comwww.dgdaming.com:
system("read line < /tmp/test");
system("echo $line");----> 输出为空
system("echo \"$line\""); ---->输出为空
其中/tmp/test非空,假设第一行字符串为hello,直接在命令行下执行
read line < /tmp/test
echo $line
输出为hello
而用上面的system()函数执行则为空,systen()中怎样使用shell中的变量呢?
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。