Here's a bash script that will do the job:

```
#!/bin/bash

# Read the input file into an array
IFS=$'\n' read -d '' -r -a lines < words.txt

# Create an associative array to hold the word counts
declare -A word_counts

# Loop through each line of the input file
for line in "${lines[@]}"; do
    # Split the line into words
    words=($line)

    # Loop through each word and update the count in the associative array
    for word in "${words[@]}"; do
        if [[ $word =~ [[:alpha:]] ]]; then
            (( word_counts[$word]++ ))
        fi
    done
done

# Print the word counts
for word in "${!word_counts[@]}"; do
    echo "$word ${word_counts[$word]}"
done
```

This script reads the input file `words.txt` line by line, splits each line into words, and updates the count of each word in an associative array called `word_counts`. Finally, it loops through the `word_counts` array and prints each word and its count. The regular expression `[[:alpha:]]` is used to ensure that only words consisting of alphabetic characters are counted.
Scrivi uno script bash per calcolare la frequenza di ogni parola in un file di testo words.txt. L'output dovrebbe, ad esempio, essere simile a questo: ``` il 4 è 3 soleggiato 2 giorno 1 ```