|
|
第 1 帖 | |
|
|
标题: awk引用变量的问题 #!/bin/ksh
set -A arg 1 2 3 4 echo ${arg[0]} awk "{print ${arg[0]} + ${arg[1]}*$1}" test.dat 其中test.dat的内容为 1 3 2 4 3 5 2 4 我发现awk后面跟一对单引号''时,$1可以起作用,但是${arg[0]}不起作用,如果用双引号""时,就刚好反过来。搞了半天不知道怎么做了,请高手们帮帮忙
__________________
华中师范大学化学院 计算化学 - Awk, Fortran - NWChem, Gaussian,Amber - Autodock, InsightII, Sybyl... |
|
|
|
|
|
|
|
第 2 帖 | ||
|
|
标题: 回复: awk引用变量的问题 引用:
http://www.linuxsir.org/bbs/showthre...threadid=99465 为了避免$1被bash解析为位置参数,加上了单引号来跳过bash的前十步处理。 awk引用外部变量的六种方法: 1. awk -v awkvar=$extvar ... #使变量的作用域扩展至BEGIN{} 2. awk '<awk expression>' "awkvar=$extvar" filename #BEGIN段不可用 3. 在awk表达式中使用'$extvar' 4. 模式引用(在正则表达式中引用外部变量) '"$extvar"' 5. 遍历外部数组(用于BEGIN段处理) awk -f 'BEGIN{for(i=1;i<ARGC;i++)print ARGV[i]}' ${extarr[@]} 6. 引用环境变量 ENVIRON["environment variable"]
__________________
IBOX, a LiveCD distribution based on Gentoo, is fit for newbie. IBOX brings to you: - knoppix-style harddisk installation tool, by which you can install Gentoo in 20 minutes. - hardware auto-configuration. You can run into X desktop directly. - all-round software set, including OpenOffice, azureus. - LiveCD-create-tools. Step-by-step, custom a LiveCD yourself with ease. Any questions and feedbacks is welcome to home_king at 163 dot com 此帖于 04-04-29 01:50 被 home_king 编辑. |
||
|
|
|
||
|
|
第 3 帖 | |
|
|
代码:
![]() ps:不要被书本的东西搞混头脑,自己多动手实践实际,养成习惯了,自然就可淋漓尽致的发挥了~~~ |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
谢谢两位,从你们身上可以学到很多东西
不过我自己没有书,我是看你们的脚本在学习,呵呵 set -A arg 1 2 3 4 是我从Javalee的一个脚本里看到的,我发现sh里没有用,不知道对应的sh里面是什么样实现的,谢谢 |
|
|
|
|
|
|
|
第 5 帖 | ||
|
|
引用:
art=(1 2 3 4) 而对数组元素的引用都是一样的 ![]() |
||
|
|
|
||
|
|
第 6 帖 | |
|
|
谢谢:)
|
|
|
|
|
|
|
|
第 7 帖 | |
|
|
给出了模式引用外部变量以及索引外部数组的方法,请重温楼上帖子。
此帖于 04-04-27 12:15 被 home_king 编辑. |
|
|
|
|
|