我試圖將awk變量字段一次設置爲多個字段。一次設置多個字段爲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}'`
#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
爲什麼不使用'awk'進行比較和'做某事'? – Bernhard
你可以提供一個與awk相比使用兩個文件的示例代碼嗎?請注意,兩個文件file.txt和file_old.txt可以具有不同的行大小。 – Nap
對不起,我錯過了你想和海誓山盟進行比較。取決於你試圖解決的具體問題和文件的結構,但我有強烈的印象,我們有更好的解決方案。 – Bernhard