-1
我有這樣格式的兩個文件:爲`bc`師管道輸入產生隨機數
文件1:
word token occurence
文件2:
token occurence
我要的是帶有此輸出的第三個文件:
word token occurrence1/occurence2
這是我的代碼:
while read token pos count
do
#get pos counts
poscount=$(grep "^$pos" $2 | cut -f 2)
#calculate probability
prob=$(echo "scale=5;$count/$poscount" | bc -l)
#print token, pos-tag & probability
echo -e "$token\t$pos\t$prob"
done < $1
的問題是,我的輸出是這樣的:
- : .25000
: : .75000
' '' 1.00000
0 CD .00396
1000 CD .00793
13 CD .00793
13th JJ .00073
36
29
16 CD .00396
17 CD .00396
有與數字線,我不知道他們來自哪裏,他們都沒有在以前的文件中。
爲什麼這些數字出現?有沒有辦法刪除這些行? 在此先感謝!
什麼是日真正的文件名?雙重引用安全變量:'「$ 2」'。 – choroba
爲什麼你不發佈一些真正的文件?您是否嘗試過使用諸如'-x'選項或'echo -e「> $ token <\t> $ count <\t> $ postcount <」''的技巧來調試您自己的腳本?換句話說,如果你沒有檢查過「count」和「postcount」的值,你怎麼能確定它是「產生隨機數的分割」? – Jdamian
可能是罪魁禍首:'grep「^ $ pos」$ 2 | cut -f 2';如果多行以'$ pos'的特定值開始,那麼'grep'會找到所有這些行。 – agc