정규식이용하여 문자 치환방법

sunyoupk의 이미지

안녕하세요 오랜만에 질문하나 할게요
1_a
2_b
3_c
4_d
..
..

위와 같은 식으로 되어 있는 파일이 있는데 위의 문자열들을
%1A
%2B
%3C
...

이런식으로 치환하고 싶은데요... 어찌 해야 할지... 정규식은 봐도 너무 어렵기만 하고...
해결방법좀 알려주시면 고맙겠습니다

aero의 이미지

test.txt

1_a
2_b
3_c
4_d

명령

perl -pne 's/(.)_(.)/%$1\u$2/' test.txt

결과

%1A
%2B
%3C
%4D

sunyoupk의 이미지

우선 답변 감사드립니다.
보여주신 예제는 펄이네요 ^^ 열심히 적용해보고 있습니다

garam111의 이미지

$ cat a.txt
1_a
2_b
3_c
99_ax
$ sed 's/\([0-9]\+\)_\([a-z]\+\)/%\1\U\2/g' a.txt
%1A
%2B
%3C
%99AX

===================================
행동할 때 열정은 자라난다.