[Linux]sed,awk 를 사용 하여 설정 파일 을 대량으로 수정 하 는 셸 디자인 을 완성 합 니 다.

1000 단어 LinuxAutoTesting
배경:현재 세 개의 파일 이 있 습 니 다.앞으로 더 많 을 수 있 습 니 다.이 세 개의 파일 을 예 로 들 겠 습 니 다.세 개의 프로필 이 서버 ip 이 변 동 될 때(자신의 가상 컴퓨터)모두 수 동 으로 ip 주 소 를 수정 해 야 합 니 다.
아이디어:그럼 셸 스 크 립 트 로 자동화 대량 수정 완료
디자인:
1.서비스 현재 IP 가 져 오기(주의:사용 한 esc 의 따옴표 로 명령 이 정상적으로 실 행 될 수 있 도록 하고$()도 사용 할 수 있 습 니 다)
지 정 된 내용 의 줄 과 일치 하도록 sed
2.작업 디 렉 터 리 전환
3.디 렉 터 리 에 있 는 세 개의 파일 을 조작 하고 배열 로 저장 합 니 다(주의:문자열 사이 에 빈 칸 간격 이 있 습 니 다)
ip=`ifconfig eth0 | sed -n '/inet addr/p' | awk '{print $2}' | awk -F: '{print $2}'`

4.배열 을 for 순환 처리 하기(주의:이 for 괄호 의 문법)
filelist=("redis6380.conf" "redis6381.conf" "redis6382.conf")

5.수정 할 내용 을 조회 하여 교체(구체 적 인 것 은 설명 하지 않 고 구 글 이나 홈 페이지 를 볼 수 있 음)
for f in "${filelist[@]}";do
done

awk 사용-v 변수 tmps 설정
마지막 으로 통합 합 니 다.셸 스 크 립 트 는 다음 과 같 습 니 다.
$(awk -v tmps="$ip" '$1~/slaveof/{$2=tmps}1' $f 1<>$f)

좋은 웹페이지 즐겨찾기