2015-04-30 42 views
-1

我試圖通過從文件中讀入並輸出一個短語來製造一個侮辱發生器。該文件( 「MYFILE」 有侮辱的3列,我想輸出改爲 「你是一個(insult1)(insult2)(insult3)」Bash腳本莎士比亞侮辱發生器

我至今....

while read line 
do 

Column1=$(cut -d" " -f 1)  
Column2=$(cut -d" " -f 2) 
Column3=$(cut -d" " -f 3) 

Insult1=${Column1[word]} 
Insult2=${Column2[word]} 
Insult3=${Column3[word]} 

echo "Thou art a" $Insult1 $Insult2 $Insult3 
done < myfile 

我對此非常接近,我只是沒有「你是一個」在每一個短語的開頭,只是第一個,在它到達字符串的末尾之前,它將通讀所有的侮辱。

+0

你有這麼遠的不是一個認真的嘗試,是嗎?它看起來有點像僞裝的「請寫我的代碼」。 –

+0

你現在可以拿一隻性交嗎? – user3412695

+0

myfile是否有行尾?當你輸入'head -1 myfile1'時,你會得到什麼,只是第一行或所有的侮辱? –

回答

1

該外殼完美能夠分割輸入的空白​​。(獲得它不是這樣做可以是一個挑戰!)

while read first second third; do 
    echo "Thou art a $first $second $third" 
done <myfile 

當然,這只是變相的sed 's/^/Thou art a /' myfile。如果你想包括某種隨機選擇,我會建議以不同的方式組織輸入 - 可能是三個不同的文件,或者一個文件包含三個部分。

first=$(shuf -n 1 adjectives.txt) 
second=$(shuf -n 1 adjectives.txt) 
third=$(shuf -n 1 nouns.txt) 
echo Thou art a $first $second $third 

(這已經得到同樣的形容詞兩次的可能性很小,也許它甚至不是一個問題,如果你是一個骯髒的狗。)