요즘 저는 sed
을 배우려고합니다. 질문 :정규 표현식 캡쳐 그룹을 대문자 밑줄에서 낙타 대문자로 변환하십시오.
정규식의 캡쳐 그룹을 대문자 밑줄 (MY_EXAMPLE)에서 카멜 케이스 (myExample)로 바꿉니다.
불행하게도, 내 나오지 지식이 거의 이것이 내가 지금까지 무엇을 가지고, 제한 :이 아니지만 꽤 MY_EXAMPLE 일종의 가까이, my_example로 변환
cat Labels.h | gsed -E 's/NSLocalizedString\(\@"(.*)", nil\)/\L\1/'
. 그래서, 지금 직면하고있는 문제는, 낙타의 경우 대체 자체가 정규식이기 때문에 어떻게 그 정규식을 캡처 그룹 (\ 1)에 적용 할 수 있습니까? grep이나 awk로 쉽게 할 수 있습니까?
UPDATE :
은 내가 후 찾고 있어요 것은 모든이 같은 구성이며, 좀 더 명확하게하려면 :
NSLocalizedString(@"SOMETHING_HERE", nil)
을 NSLocalizedString(@"SOMETHING_ELSE_HERE", nil)
는 등
somethingHere
, somethingElseHere
등이 될
이제 알겠습니다.
something_here
, something_else_here
등
은 사용 이제까지해야 3 명령이 있습니다. 다른 구조체를 사용하는 것을 고려하고 있다면, awk를 사용하십시오. –
해당 문자열을 추출하거나 내부에서 변경하려고하십니까? 내가 원하는 출력은 실제로'someThingHere'이거나 실제로'NSLocalizedString (@ "someThingHere", nil)'입니까? '뭔가'가 "someThing"이되어야한다고 (예 : 문자 "T"중간 단어를 대문자로) 스크립트에서 알릴 수 있습니까? –
@EdMorton ups, 오타, 업데이트 됨, 미안 해요! –