Imprima certa linha de arquivo

0

Estou tentando imprimir todas as palavras com erros de ortografia "rools hatte " ).

Mas continuo recebendo o erro

sed: -e expression #1, char 17: unterminated 's' command

Eu tentei diferentes maneiras que encontrei neste site e em outros lugares, mas sempre recebo esse erro, independentemente disso.

linecount="$(wc -l < misspelled)"
echo -e "MISSPELLED: \t\t\t CORRECT:"
for NUM in 'seq $linecount'
do
    sed "${NUM}q;d" misspelled
done
    
por MrDaveForDays 04.10.2016 / 02:04

1 resposta

1

Você tem o tipo errado de aspas em torno de seq $linecount . Você tem aspas simples, que fazem com que toda a frase seja tratada como uma única string. Se você quiser executá-lo e usar os resultados que deseja, os backticks:

'seq $linecount'

ou, melhor agora, use a sintaxe $(...) que faz o mesmo

for num in $(seq $linecount)

ou você pode fazer isso sem o outro programa:

num=1
while [ "$num" -le "$linecount" ]; do
    ...
    ((num=num+1))
done

Se você está tentando imprimir as primeiras linhas N do arquivo, provavelmente deve usar apenas head :

head -n "$linecount" misspelled
    
por 04.10.2016 / 02:10