
我正在嘗試列印所有拼字錯誤的單字(即“rools hatte”)。
但我一直在報錯
sed:-e 表達式 #1,字元 17:未終止的「s」指令
我嘗試了在該網站和其他地方找到的不同方法,但無論如何我總是收到此錯誤。
linecount="$(wc -l < misspelled)"
echo -e "MISSPELLED: \t\t\t CORRECT:"
for NUM in 'seq $linecount'
do
sed "${NUM}q;d" misspelled
done
答案1
您周圍的引號類型錯誤seq $linecount
。您有單引號,這使得整個短語被視為單一字串。如果你想執行它並使用你想要反引號的結果:
`seq $linecount`
或者,現在更好,使用$(...)
具有相同功能的語法
for num in $(seq $linecount)
或者你可以在沒有其他程式的情況下完成它:
num=1
while [ "$num" -le "$linecount" ]; do
...
((num=num+1))
done
如果您嘗試列印N
文件的第一行,那麼您可能應該只使用head
:
head -n "$linecount" misspelled