sed: -e 표현식 #1, 문자 4: 알 수 없는 명령:

sed: -e 표현식 #1, 문자 4: 알 수 없는 명령:

이 답변이 무엇을 의미하는지 알려줄 수 있는 사람이 있나요?

sed: -e expression #1, char 4: unknown command: `
'

다음을 사용할 때 이것을 얻습니다.

sed -n "$num"p $javaFile >> ~/Desktop/$1_sql.txt
for i in `seq 5 $max`
do
    lineNum=$(($num + $i))
    echo $lineNum
    sed -n "$lineNum"p $javaFile >> ~/Desktop/$1_sql.txt
done

$javaFile은 Java 파일이고 num은 정수입니다.

답변1

스크립트에는 아무런 문제가 없습니다. 어쩌면 작동하지 않게 만드는 라인 터미네이터일 수도 있습니다. 다음 명령을 사용하여 줄 종결자를 확인할 수 있습니다.

file YourScriptFile

"...with CRLF 줄 종결자"와 같은 결과가 반환되면 다음 명령을 사용하여 CRLF를 LF 줄 종결자로 변경할 수 있습니다.

flip -u YourScriptFile

스크립트 파일을 다시 실행하십시오.

추신: 문제에 대한 빠르고 더러운 해결책이 있습니다

cut -d $'\n' -s -f ${num},$((num+5))-$((num+max)) $javaFile

-d $'\n'원하는 필드(이 경우 행)를 나타내기 위해 \n구분 기호 로 사용하는 항목을 나타냅니다 . -f ${num},$((num+5))-$((num+max))필드는 목록이며 1-3등이 1,3-10될 수 있습니다 .

관련 정보