[英]AWK not printing
我想知道為什么這個awk
命令行不打印FILENAME
。
WORD=abrego
NWORD=${#WORD}
awk -F", " -v var3=$NWORD -v var2="$WORD" -v var1="colombia" \
'gsub(/^c1 \[[^]]*\]/,",") \
$NF==var1 && (var3==length($(NF-2)) || var3==length($(NF-1))) && ($(NF-2)==var2 || $(NF-1)==var2) \
{print FILENAME}' file*
file1
:
c1 [gaston zamora-abrego, j.] univ nacl colombia sede medellin, dept ciencias forestales, medellin, colombia
file2
:
c1 [zamora-abrego, joan g.] univ nacl colombia, dept ciencias forest, grp ecol conservac fauna silvestre, sede medellin, colombia
file3
:
c1 [gaston zamora-abrego, j.] univ nacl colombia, dept ciencias forestales, fac ciencias agr, medellin , antioquia, colombia
file4
:
c1 [perez, maritza] abrego, norte de santander, colombia
預期產量
file4
您的代碼中的gsub
函數需要先執行才能使其他條件起作用。
這應該工作:
awk -F", " -v var3=$NWORD -v var2="$WORD" -v var1="colombia" '{gsub(/^c1 \[[^]]*\]/,",")}
$NF==var1 && (var3==length($(NF-2)) || var3==length($(NF-1))) &&
($(NF-2)==var2 || $(NF-1)==var2) {print FILENAME}' file*
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.