파일의 특정 줄을 인쇄하십시오.

파일의 특정 줄을 인쇄하십시오.

철자가 틀린 모든 단어(예: "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

관련 정보