列印出文件的某一行

列印出文件的某一行

我正在嘗試列印所有拼字錯誤的單字(即“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

相關內容