sed를 사용하여 키워드 일치 변수를 전달할 때 오류가 발생했습니다.

sed를 사용하여 키워드 일치 변수를 전달할 때 오류가 발생했습니다.

텍스트 처리를 위한 bash 스크립트를 작성 중인데 이 명령을 실행하면 오류가 발생합니다.

sed -e "/\<$7\>/ /\<$5\>/$6/" < "$2/$1" > "file.tmp"

이로 인해 다음 오류가 발생합니다.

> Unrecognized command: /\<key\>/ /\<Hi\>/Hello/

내가 뭘 잘못했나요?

변수의 값은 오류와 동일합니다.

"$2/$1"은 파일 경로 및 파일 이름입니다.

답변1

귀하의 질문을 이해했는지 살펴 보겠습니다. 파일의 행이 $7과 일치하는 경우 $5를 $6으로 바꾸시겠습니까? 거기에 's'가 빠졌네요

sed -e "/\<'$7'\>/s/\<'$5'\>/'$6'/" < "$2/$1" > "file.tmp"

관련 정보