我有一个有50行的文件。每行由三列组成。前两列是变量,这将作为参数传递以返回第三列的值。 为前.. command_file.txt是文件,它包含awk命令接受两个变量作为参数并返回一个值
A B 10 C D 20 E F 30 G H 50 I J 70 ...
我有以下命令的脚本。
#!/user/bin/sh READ_FILE=/export/home/user/command_file.txt VA1=A VA2=B GET_VALUE=`awk '/ -v var="$VA1" '$1 ~ var' -v var1="$VA2" '$1 ~ var1''/ $READ_FILE l awk '{print $3}'` echo $GET_VALUE
当我调用这个脚本传递A和B作为参数我期望值10返回。但它返回错误。 但是,如果我在下面的命令上硬编码值,它会起作用。
GET_VALUE=`awk '/A B'/ $READ_FILE lawk '{print $3}'`
有什么建议吗? 谢谢。
你为什么不告诉我们你得到的错误;) – 2009-10-14 22:00:08
谢里,你需要学习管道符'之间的区别|'和小写字母“ELL”,以及如何正确使用引号(单和双)。基本的shell教程会有所帮助。 – 2009-10-14 23:04:17