아래와 같이 여러 개의 RHEL kickstart 파일이 포함되어 있습니다.%릴리스...%끝다양한 섹션 사이에는 많은 Python 코드 줄이 있습니다.
%post
.....
.....
%end
%post
.....
.....
%end
%post
.....
.....
%end
두 번째 검색 패턴이 나타나기 전에 일부 데이터가 포함된 새 행을 삽입하려고 합니다(위)."%끝"끝부터 시작합니다(EOF). 모든 팁/입력에 크게 감사드립니다.
답변1
spam
두 번째 블록의 마지막 위치에 텍스트를 삽입하는 Python 코드 조각 %post..%end
:
with open('input') as fp:
lines = fp.readlines()
locs = [i for i, val in enumerate(lines) if val == '%end\n']
lines.insert(locs[-2], 'spam' + '\n')
with open('input', 'w') as fp:
fp.write(''.join(lines))
답변2
끼워 넣다"일부 데이터"마지막 패턴 라인 앞에.
grep
+awk
해결책:
awk -v n="$(($(grep -c '^%end' inputfile) - 1))" \
'/^%end/{ if (++cnt == n) print "some data" }1' inputfile
산출:
%post
.....
.....
%end
%post
.....
.....
some data
%end
%post
.....
.....
%end