
Estou tentando imprimir todas as palavras com erros ortográficos (que é "rools hatte").
Mas continuo recebendo o erro
sed: -e expressão #1, caractere 17: comando `s' não terminado
Eu tentei diferentes maneiras que encontrei neste site e em outros lugares, mas sempre recebo esse erro de qualquer maneira.
linecount="$(wc -l < misspelled)"
echo -e "MISSPELLED: \t\t\t CORRECT:"
for NUM in 'seq $linecount'
do
sed "${NUM}q;d" misspelled
done
Responder1
Você tem o tipo errado de aspas por aí seq $linecount
. Você tem aspas simples, o que faz com que a frase inteira seja tratada como uma única string. Se você quiser executá-lo e usar os resultados desejados, coloque crases:
`seq $linecount`
ou, melhor agora, use a $(...)
sintaxe que faz o mesmo
for num in $(seq $linecount)
ou você poderia fazer isso sem o outro programa:
num=1
while [ "$num" -le "$linecount" ]; do
...
((num=num+1))
done
Se você estiver tentando imprimir as primeiras N
linhas do arquivo, provavelmente deverá usar apenas head
:
head -n "$linecount" misspelled