sed 찾기 및 바꾸기를 사용하는 대신 루프를 사용하여 스크립트에서 파일을 편집하려면 어떻게 해야 합니까? [복사]

sed 찾기 및 바꾸기를 사용하는 대신 루프를 사용하여 스크립트에서 파일을 편집하려면 어떻게 해야 합니까? [복사]

내가 하려는 일의 예는 다음과 같습니다.

#!/bin/bash
Update=$1

if [$Update == Value] 
then
    NewValue= $Update
    vi %s/Value/$NewValue/g > Updatedfile
fi
exit 0

vi스크립트에서 명령을 사용하는 방법이 있습니까 ? 내 생각엔 어떤 종류의 파이프라인이 이것을 할 수 있을까?

답변1

예, vi스트립에서 명령을 사용할 수 있습니다: sed-에스트레메편집하다vieditor는 ( , vi, ) 계열의 구성원입니다 sed. 파이프를 통해 전달된 데이터 스트림을 편집하는 데 사용되므로 정확히 필요한 것입니다. 또한 와 동일한 명령을 사용합니다 vi.

예를 들어, 기준을 처리하고 결과를Updatedfile

sed -e "s/Value/$NewValue/g" > Updatedfile

-i옵션 도 참조하고 편집하세요.n 비트.

관련 정보