awk変数フィールドを一度に複数のフィールドに設定しようとしています。
現在、変数を1つずつ設定することしかできません。
for line in `cat file.txt`;do
var1=`echo $line | awk -F, '{print $1}'`
var2=`echo $line | awk -F, '{print $2}'`
var3=`echo $line | awk -F, '{print $3}'`
#Some complex code....
done
Linux変数を数回解析するため、これはコストがかかると思います。変数を一度に設定するための特別な構文はありますか?awkにBEGINブロックとENDブロックがあることは知っていますが、BEGINブロックとENDブロックを避けようとしている理由は、ネストされたawkを避けるためです。
#Some複雑なコード....の部分に別のループとawkコードを配置する予定です。
for line in `cat file.txt`;do
var1=`echo $line | awk -F, '{print $1}'`
var2=`echo $line | awk -F, '{print $2}'`
var3=`echo $line | awk -F, '{print $3}'`
for line2 in `cat file_old.txt`;do
vara=`echo $line2 | awk -F, '{print $1}'`
varb=`echo $line2 | awk -F, '{print $2}'`
# Do comparison of $var1,var2 and $vara,$varb , then do something with either
done
done