Aşağıdaki gibi bir dosyam var
var 3 2014 string
var1 4 2011 string4
var2 6 1999 string2
var3 1 2016 string6
Sonra sütunlardan birini bir sayı ile karşılaştırmak için okuma döngüsü sırasında bunu yaptıktan sonra bir şey yankılanıyorum. Ancak, istediğim ifadeyi tekrarlamak yerine, başka bir şeyi tekrarlar.
while read num
do
if [ "$num" = "0" ]; then
echo "Number is equal to zero"
else
echo "number is not equal to 0"
fi
done < home/dir/file.txt | awk '{print $2}'
Yukarıdakileri yankılamak yerine, dosyanın ikinci sütununu yankılanır.
awk '{if ($2==0){print "equal"}else{print "not"}}' file.txt
?
while
... done
döngüsünün ürettiği her satırdan ikinci kelimeyi yazdıracaktı . Yani: is
x4
read num
sonucun tek bir sayı olmasını bekler ve bekler ("0" dizesiyle karşılaştırırsınız), ancak aslında 4 sütunlu bir girdi dosyası okuyorsunuz, böylece 4 sütunlu$num
bir dize olacak.