xyz.sh 파일이 있습니다
JAVA_OPTS="-Xmx3072M"
RESOLVED_HEAP_SIZE="2048M"
RESOLVED_OFF_HEAP_SIZE="256M"
-Xmx3072M
예상됨 - 로 바꾸고 싶지만 값이 항상 동일할 -Xmx4096M
필요는 없으며 또는 일 수 있습니다 .JAVA_OPTS="-Xmx3072"
-Xmx1234
-Xmx5120
답변1
이 시도,
sed -e '/JAVA_OPTS/ s/".*"/"-Xmx4096M"/' test453
JAVA_OPTS="-Xmx4096M"
RESOLVED_HEAP_SIZE="2048M"
RESOLVED_OFF_HEAP_SIZE="256M"
- 일치하는 항목 검색
JAVA_OPTS
".*"
큰따옴표 사이의 모든 패턴을 대체합니다."-Xmx4096M"
- 파일을 편집하려면
-e
다음으로 바꾸십시오.-i
답변2
sed '/JAVA_OPTS/s/-Xmx[[:digit:]]\{1,\}[kKmMgG]\{0,1\}/-Xmx4G/'
-Xmx
하나 이상의 십진수 뒤에 선택적인 k/K/m/M/g/G 접미사가 -Xmx4G
포함된 줄은 JAVA_OPTS
다른 최종 Java 옵션을 건드리지 않고 대체됩니다 .