쉘 스크립트를 통해 파일에서 문자열을 제거하는 방법은 무엇입니까?

쉘 스크립트를 통해 파일에서 문자열을 제거하는 방법은 무엇입니까?

나는 그것에서 문자열을 제거하려고합니다 .bash_profile. 내 쉘 스크립트가 실행될 때 다음 문자열을 추가하십시오.

bash_profile의 내 문자열은 다음과 같습니다.

# for Myapllication
export MYAPP_HOME=/opt/myapp

.bash_profilemyapp 을 삭제하여 문자열을 삭제하고 싶습니다 rpm.

쉘 스크립트를 통해 파일에서 문자열을 제거하는 방법은 무엇입니까? (또는 가능한 대안)

답변1

sed (다른 도구도 있음)을 사용하여 텍스트 파일에서 문자열을 제거할 수 있습니다.

예를 들어:

sed -i -e '/myapp/d' .bash_profile

.bash_profile 문자열을 포함하는 모든 줄에서 제거합니다 myapp.

답변2

이와 같은 파일은 ~/.bash_profile사용자의 홈 디렉터리에 있습니다. 이러한 파일은 전적으로 사용자의 통제하에 있습니다. 이와 같이 전역적으로 실행되는 명령은 rpm해당 파일을 변경해서는 안 됩니다.

  • 일반적으로 rpm 패키지에서 제공하는 기본 구성 파일이 있습니다.

  • 그런 다음 루트가 특정 시스템에 특정한 일부 기본 설정을 재정의하는 데 사용할 수 있는 전역 구성 파일이 있습니다.

  • 그런 다음 홈 디렉터리에 개인 기본 설정에 따라 전역 설정을 재정의하는 데 사용할 수 있는 개인 구성 파일이 있습니다.

이와 같은 명령은 rpm첫 번째만 변경해야 하며 후자는 변경하지 않아야 합니다.

답변3

sed -i '/^export MYAPP_HOME=\/opt\/myapp$/d' ~/.bash_profile

답변4

vim 방식을 시도해 보세요:

ex -s +"g/MYAPP_HOME/d" -cwq file.txt

관련 정보