나는 알고 싶다.sed패턴의 첫 번째 문자를 대체하여 패턴을 바꾸는 대신 수정하는 데 사용할 수 있습니다. 저는 다양한 세 글자 조합이 AXYZ
포함된 텍스트 파일을 작업하고 있습니다. XYZ
알릴 방법이 있나요sed모두 AXYZ
로 변경 XYZ
하고 A
공백으로 바꾸시겠습니까 ? - 마이크
답변1
(...)
대체 항목에서 해당 (첫 번째) 그룹을 참조 ([A-Z]{3})
하려면 세 글자로 된 캡처 그룹(예: and )을 사용하세요 .\1
예:
$ printf '%s\n' AGLU AASP ALYS AVAL | sed -E 's/A([A-Z]{3})/ \1/'
GLU
ASP
LYS
VAL
답변2
예, sed
가능해야 합니다. 귀하가 정말로 원하는 것이 무엇인지 제가 이해한다면 가능합니다. 다음은 문자(아마도 파일 이름)가 포함된 문자열의 예입니다 A
. 전략적 경제 대화바꾸다다음이 대체됩니다.첫 등장A
, ``(길이가 0인 문자열) 및 , 각각 _
문자입니다 .
$ SOMEFILE="AASP"
$ echo $SOMEFILE
AASP
$ echo $SOMEFILE | sed "s/A/_/"
_ASP
$ echo $SOMEFILE | sed "s/A//"
ASP
$ echo $SOMEFILE | sed "s/A/ /"
ASP