동일한 디렉터리에 있는 여러 텍스트 파일에서 지정된 문자열 뒤의 첫 번째 문자를 대문자로 표시하는 방법을 찾고 있습니다. 나는 sed가 이러한 목적을 위한 도구라고 생각한다.
예를 들어 텍스트 파일에는 모두 "name=" 문자열이 포함되어 있으며 다음 문자를 대문자로 표시하고 싶습니다. 때로는 파일에 "name="이 여러 개 있을 수 있습니다. 다음 문자는 항상 문자이며 때로는 이미 대문자인 경우도 있습니다. 뒤에 "이름"이 없는 "="의 다른 인스턴스가 있습니다.
누구든지 여기에서 올바른 방향을 알려줄 수 있습니까? 내 상황을 알게 되어 너무 기뻐요. 어디를 봐야 할지 모르겠어요.
감사해요!
답변1
GNU sed를 사용하면 간단히 다음과 같이 할 수 있습니다:
sed '/name=[a-z]/s/name=\(.\)/name=\U\1/g'
어디:
\(.\)
단일 문자에 대한 정규식 컬렉션을 정의합니다.\U
sed에게 무언가를 대문자로 변환하라고 지시합니다.\1
첫 번째 컬렉션 그룹을 다시 참조하세요. 문자를 대문자로 원합니다.