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

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

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

관련 정보