2016-04-06 5 views
0

olsunBash AWK, ben böyle skor kaydetmek Bu dosyada log.txt</p> <p>adlı bir dosyaya puan yazma bir komut dosyası var, birinci ve ikinci çıkış (int)

gameswon=`awk -F : '{print $2}' "$file"` 

bana bu sonucu verir:

1 1 
bir örnek)

Won: 1 
Lose: 1 

Bu AWK komutu yazdım Ben, "kazandı" ilk numarayı kaydedebilirsiniz nasıl

Ve ikinci sayı

Umut kimse bana

+0

dizisine koyar. Bu basit çıktı için bir görüntü kullanmak gerçekten gerekli miydi? Sadece bir satır metni yapıştıramaz mısın? – Barmar

+0

Haklısınız @Barmar –

cevap

1

kullanabilirsiniz bir bash array:

gameswon=($(awk -F: '{print $2}' "$file")) 
won=${gameswon[0]} 
lose=${gameswon[1]} 

Bu awk -F: '{print $2}' "$file" çıktısını $gameswon

0

Sen süreç yerine küçük değiştirici Awk read kullanabilirsiniz yardımcı olabilir "kaybetmek" için:

read -r won lose < <(awk -F : '$1 ~ /^(Won|Lose)$/{printf "%s ", $2+0}' "$file") 
İlgili konular