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