以下是我的bash脚本.如果我使用varible oid在awk中进行比较,它不会显示匹配的行.
oid="3586302804992"
SYMBOL_CSV_FILE="symbol/BAC"
awk -F, '$5 == $oid' "$SYMBOL_CSV_FILE"
echo "2nd"
awk -F, '$5 == "3586302804992"' "$SYMBOL_CSV_FILE"
Run Code Online (Sandbox Code Playgroud)
O/P是
2nd
BAC,1,O,1,3586302804992
Run Code Online (Sandbox Code Playgroud)
symbol/BAK
文件内容是
BAC,1,O,1,3586302804992o
Run Code Online (Sandbox Code Playgroud)
将""放在第3行的$ oid附近,并没有任何区别.
代替:
awk -F, '$5 == $oid' "$SYMBOL_CSV_FILE"
Run Code Online (Sandbox Code Playgroud)
像这样用它:
awk -F "," -v oid="$oid" '$5 == oid' "$SYMBOL_CSV_FILE"
Run Code Online (Sandbox Code Playgroud)