이 답변이 무엇을 의미하는지 알려줄 수 있는 사람이 있나요?
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
될 수 있습니다 .