[질문] sed 각 라인의 두번째 탭 문자을 뉴라인 문자로 대치?

hurryon의 이미지

유닉스 파워 툴의 845 페이지에 있는 내용입니다. 잘 되지 않아서 글을 올립
니다.

각 라인의 두번째 탭 문자을 뉴라인 문자로 대치을 하고 싶습니다. 가령
다음과 같은 입력 파일이 있다면

col1 [탭문자] col2 [탭문자] col3 [탭문자] col4

이것을

col1 [탭문자] col2
col3 [탭문자] col4

위와 같은 결과을 내고 싶습니다.

:-)

우겨의 이미지

awk '{print $1 "\t" $2 "\n" $3 "\t" $4}' 입력파일

impactbar의 이미지

tab2new.sed 파일을 만듭니다.

# cat tab2new.sed
s/탭/\
/2

#sed -f tab2new.sed foo.txt

주의 : 한글로 탭은 실제 탭키를 누른것을 말합니다.
나머지 부분에 화이트스페이스가 들어가면 안됩니다. ^^;

hurryon의 이미지

앗. 감사합니다. 혹시 스크립트을 만들지 않고 (-f 사용하지 않고) 한라인으로
해결할수 있는 방법은 없는지요?

:-)

고물의 이미지

-e '정규식' 으로 대체하시면 됩니다.

자세한 사항은 구글에서 정규식 선생님을 찾으세요.

hurryon의 이미지

글쎄요? 컨맨드 상태에서 -e 옵션을 사용하는건 알겠지만
탭을 어떻게 넣는지요?

cjh의 이미지

CTRL-V 하고 탭 키를 누르세요.

--
익스펙토 페트로눔