"root Soft nproc"에 해당하는 값을 180000에서 40000으로 변경해야 합니다. 샘플 파일은 다음과 같습니다. 이 작업을 한 줄로 쉽게 수행할 수 있는 방법이 있습니까?
map hard nofile 1000
root soft nofile 1000
root hard nofile 1010
map soft nproc 1200
map hard nproc 1200
root soft nproc 180000
root hard nproc 180000
답변1
당신은 그것을 사용할 수 있습니다
sed 's/^\(root\s*soft\s*nproc\s*\)180000$/\140000/' file > newfile
대체 가치제자리에옵션 사용-i
sed -i 's/^\(root\s*soft\s*nproc\s*\)180000/\140000/' file
구문은 다음과 같습니다.sed 's/replace_old/with_new/' file
^
줄의 시작과 일치합니다.\s*
공백 문자(공백 및 탭) 수에 관계없이 일치합니다.$
줄 끝 일치
내부 부분은 \(...\)
그룹으로 캡처되고 캡처 그룹에 대한 역참조인 \140000
아래 부분으로 대체됩니다.\1