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