![sed 찾기 및 바꾸기를 사용하는 대신 루프를 사용하여 스크립트에서 파일을 편집하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/68958/sed%20%EC%B0%BE%EA%B8%B0%20%EB%B0%8F%20%EB%B0%94%EA%BE%B8%EA%B8%B0%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%8C%80%EC%8B%A0%20%EB%A3%A8%ED%94%84%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%ED%8E%B8%EC%A7%91%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내가 하려는 일의 예는 다음과 같습니다.
#!/bin/bash
Update=$1
if [$Update == Value]
then
NewValue= $Update
vi %s/Value/$NewValue/g > Updatedfile
fi
exit 0
vi
스크립트에서 명령을 사용하는 방법이 있습니까 ? 내 생각엔 어떤 종류의 파이프라인이 이것을 할 수 있을까?
답변1
예, vi
스트립에서 명령을 사용할 수 있습니다: sed
-에스트레메편집하다vi
ed
itor는 ( , vi
, ) 계열의 구성원입니다 sed
. 파이프를 통해 전달된 데이터 스트림을 편집하는 데 사용되므로 정확히 필요한 것입니다. 또한 와 동일한 명령을 사용합니다 vi
.
예를 들어, 기준을 처리하고 결과를Updatedfile
sed -e "s/Value/$NewValue/g" > Updatedfile
-i
옵션 도 참조하고 편집하세요.나n 비트.