구두점을 그대로 유지하면서 XOrg[ ,.;]를 X-Org[로 바꾸고 싶다고 가정해 보겠습니다. 따라서 XOrg는 X-Org를 제공하고 "XOrg"는 "X-Org"를 제공하는 식입니다.
Linux 터미널에서 sed를 사용하여 이를 수행할 수 있는 방법이 있습니까?
이제 난 할 수 있어
sed -r 's/XOrg[ ,.;]/X-Org/g'
하지만 여기서는 반대쪽 끝에 어떤 구두점을 표시할지 선택해야 합니다. 찾은 구두점을 유지하도록 어떻게 말합니까?
답변1
방금 여기서 답을 찾았습니다.http://www.grymoire.com/Unix/Sed.html#uh-4a
검색어를 일련의 문자(예: 구두점 및 공백)로 구분하고 이러한 문자를 바꾸지 않고 출력에 유지하려면 다음 구성을 사용할 수 있습니다.
sed -r 's/([group1])term([group2])/\1output\2/g'
여기서 ([groupx])는 ([ ,.;)(]) 또는 ([[:punct:] ])일 수 있습니다.
전임자.
echo dep\!|sed -r 's/dep([ ,.;)!])/dependency\1/'
줄 것이다: 뎁! -> 의존!
echo ' dep,'|sed -r 's/([[:punct:] ])dep([[:punct:] ])/\1dependency\2/'
'dep' -> '종속성'을 제공합니다.