shell sed를 이용한 문자 치환
글쓴이: newnjell / 작성시간: 금, 2014/10/24 - 3:27오후
bash shell의 sed를 이용하여 구분자 사이의 문자를 치환 하려고 하는데요.
|1|[ABC]|XXX|\r\n|2|[EFG]|YYY|\r\n|
COUNTER라는 변수를 두고,
해당 문자열의 XXX와 YYY를 추출하려고 합니다.
XXX와 YYY는 Key라는 변수로 바꾸려고 하는데요.
COUNTER가 1일때는 XXX가 변경 COUNTER가 2일 때는 YYY가 변경 하려고 합니다.
아래와 같이 정규식을 해보았는데, .*로 인해서 항상 ]|XXX|\r\n|2|[EFG]|YYY|\r 까지 변경이 되네요.
string=$(echo $string | sed -e 's/]|.*|\\r/\]|'$key'|\\r/'$COUNTER'')
COUNTER에 따라 구분자를 치환하는 방법 없을까요?
Forums:
댓글 달기