words.txt metin dosyasındaki her kelimenin sıklığını hesaplamak için bir bash betiği yazın. Çıktı, örneğin şu şekilde görünmelidir: ``` the 4 is 3 gunes 2 day 1 ```
İşte işi yapacak bir bash betiği: ``` #!/bin/bash # Girdi dosyasını bir diziye oku IFS=$'\n' read -d '' -r -alines <words.txt # Oluştur kelime sayımlarını tutmak için bir ilişkisel dizi beyan -A word_counts # "${lines[@]}" içindeki satır için girdi dosyasının her satırında döngü; do # Satırı kelimelere ayırınwords=($line) # Her kelimede döngü yapın ve "${words[@]}" içindeki kelime için ilişkisel dizideki sayımı güncelleyin; if [[ $kelime =~ [[:alpha:]] ]]; sonra (( word_counts[$word]++ )) fi done done # "${!word_counts[@]}" içindeki kelime için kelime sayısını yazdırın; do echo "$word ${word_counts[$word]}" done ``` Bu komut dosyası `words.txt` giriş dosyasını satır satır okur, her satırı kelimelere böler ve bir ilişkisel dizideki her kelimenin sayısını günceller "word_counts" olarak adlandırılır. Son olarak, "word_counts" dizisinde dolanır ve her bir kelimeyi ve onun sayısını yazdırır. `[[:alpha:]]` normal ifadesi, yalnızca alfabetik karakterlerden oluşan kelimelerin sayılmasını sağlamak için kullanılır.