쉘스크립트에서 공백(space)를 개행하는 방법

ramdole의 이미지

sed -e 's/[[:space:]]/\n/' test.log
sed -e 's/[[:space:]]/\r\n/' test.log

이렇게 해보는데 안되네요

참고로 서버는 FreeBSD 입니다.

nonots의 이미지

[nonots@old4 ~]$ echo "aaa bbb ccc" | sed -e "s/[[:space:]]/\n/g"
aaa
bbb
ccc

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

ramdole의 이미지

[17:32:53:ym:~]$ echo "aaa bbb ccc" | sed -e "s/[[:space:]]/\n/g"
aaanbbbnccc

이렇게 나오네요

참고로 서버는 FreeBSD 입니다.

nonots의 이미지

\n 은 .. 역슬레시 + n 입니다.
아마 복사되면서 역슬레시로 스트립하는 기능이 빠지고 그냥 n 만 남아서 그런거 같군요.
아니면 작은 따옴표로 바꿔보든다..

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

alfalf의 이미지

공백문자, 개행문자 등을 한번에 다룰 때는 tr이 요긴합니다.

tr ' ' '\n' < test.log
ramdole의 이미지

답변 감사합니다.