파일이 다음과 같이 구성되 있을때
[공부 잘하는 법 100]
이파일을 아래와 같이 바꾸려고 할때
[공부잘하는법 공부 잘하는 법 100]
IFS : 탭
awk -F" " '{ origin=$1; gsub(" ", "", $1 ); printf("%s\t%s:%s\n", $1,origin,$2)}'
gsub()
arg1 : 바꾸고자 하는 패턴( reg ex )
arg2 : 패턴이 발견됐을때 바꿀 패턴
arg3 : 대상 문자열
gsub의 리턴값은 바뀐 문자열이 아니고 몇개가 변경됐는지가 리턴된다.
'공부 잘하는 법'의 경우 공백이 두번 존재하니 gsub의 리턴값은 2가 된다.
gsub에 의해 공백이 제거된 문자열을 처음 입력값 $1에 적용된다. 따라서
공백이 제거되기 전의 상태를 다른 변수에 할당해 놓아야 한다.
'쉘스크립트' 카테고리의 다른 글
bash 전역(global) 변수 (0) | 2014.07.17 |
---|---|
미리알았다면 좋았을 것들 (0) | 2014.04.15 |
parallel 병렬처리 명령어 (0) | 2011.10.20 |
bash 사용 예 (0) | 2011.07.19 |
스크립트 실행 위치 (0) | 2011.06.24 |