설치 스크립트에 추가 기능을 추가하고 업그레이드할 다른 파일을 편집하기로 결정했습니다. 이를 달성하려면 Linux에서 다음 명령을 사용하여 유효한 sed 명령을 가져와야 합니다.
sed -i "s/TM_JAVA_MEM_MIN="4096M"/TM_JAVA_MEM_MIN="5096M"/g" /tmp/conf/start_tm_console
컨텍스트 sed 버전 세부정보:
sed --version
sed (GNU sed) 4.2.2
내가 가진 문제는 물론 ""
4096M과 5096M 정도의 값을 사용하는 것입니다. Appends 를 무시하도록 sed 명령을 완료하는 방법을 잘 모르는 ""
사람이 있습니까?
활발한 연구 중입니다.
내가 찾은 것은 다음과 같습니다. 물론 작동하지 않습니다.
sed -i "s/TM_JAVA_MEM_MIN=[\"]4096M[\"]/TM_JAVA_MEM_MIN=[\"]5096M[\"]/g" /tmp/conf/start_tm_console
sed -i 's~TM_JAVA_MEM_MIN="4096M"~TM_JAVA_MEM_MIN="5096M"~g' /tmp/conf/start_tm_console
편집하다:
아래는 파일의 일부 내용입니다. 위 줄은 파일에 한 번만 나타납니다.
#
# This value must be a multiple of 1024 greater than 1MB. Append the letter k or
# K to indicate kilobytes, or m or M to indicate megabytes. The default value is
# 2MB.
#
[ -z "${TM_JAVA_MEM_MIN}" ] && TM_JAVA_MEM_MIN="4096M"
#
# Specify the maximum size, in bytes, of the memory allocation pool. This value
# must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate
# kilobytes, or m or M to indicate megabytes. The default value is 64MB.
#
[ -z "${TM_JAVA_MEM_MAX}" ] && TM_JAVA_MEM_MAX="6144M"
답변1
감사합니다!
sed -i 's~TM_JAVA_MEM_MIN="4096M"~TM_JAVA_MEM_MIN="5096M"~g' /tmp/conf/start_tm_console
이것이 실제로 작동하는지 확인할 수 있습니다. 프로덕션에서 원본 파일에 cat을 사용하고 있지만 변경 사항을 볼 수 없습니다. ;피!