我有一個有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