Aşağıdakiler benim kabuk fonksiyonlarımdan birinde:
function _process () {
awk -v l="$line" '
BEGIN {p=0}
/'"$1"'/ {p=1}
END{ if(p) print l >> "outfile.txt" }
'
}
Böylece olarak adlandırılan zaman _process $arg
, $arg
olarak iletilir $1
ve bir arama deseni olarak kullandı. Bu şekilde çalışır, çünkü kabuk $1
awk deseni yerine genişler ! Ayrıca l
awk programının içinde de bildirilerek kullanılabilir -v l="$line"
. Her şey yolunda.
Değişken olarak aramak için desen vermek aynı şekilde mümkün mü?
Aşağıdaki işe yaramayacak,
awk -v l="$line" -v search="$pattern" '
BEGIN {p=0}
/search/ {p=1}
END{ if(p) print l >> "outfile.txt" }
'
Çünkü awk /search/
bir değişken olarak yorumlanmayacak , tam anlamıyla.