쉘 스크립트는 특수 문자로 다음 줄을 바꾸고 추가합니다.

쉘 스크립트는 특수 문자로 다음 줄을 바꾸고 추가합니다.

한 줄을 다른 줄로 바꾸고 쉘 스크립트를 사용하여 해당 줄 아래에 새 줄을 추가하려고 합니다.

교체하고 싶은 항목:

export PATH

그리고:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-ibm-1.8.0.2.10-1jpp.1.el7.x86_64
export PATH JAVA_HOME

즉, export PATH이 두 줄로 바꿔야 합니다.

sed 또는 쉘 스크립트를 사용하는 방법을 알려주십시오.

답변1

sed 's|^export PATH$|JAVA_HOME=/usr/lib/jvm/java-1.8.0-ibm-1.8.0.2.10-1jpp.1.el7.x86_64\
& JAVA_HOME|' < "$yourfile"

답변2

sed 명령을 사용하십시오:

sed -i 's/<original text>/<new-text>/g' file.txt


sed -i 's/original/new/g' file.txt

설명하다:

  • sed = 스트림 편집기
  • -i = 현재 위치(즉, 원본 파일에 다시 저장) 명령 문자열:
  • s = 대체 명령
  • 원시 텍스트 = 대체할 단어(또는 단어 자체)를 설명하는 정규식
  • 새 텍스트 = 바꿀 텍스트
  • g = 전역(즉, 첫 번째 항목만 교체하지 않고 모두 교체)
  • file.txt = 파일 이름

선택하다:

awk '{gsub(/'pattern'/,"replacement")}' file

관련 정보