라인마다 개행문자 추가하는 스크립트좀..
글쓴이: 송지석 / 작성시간: 토, 2004/05/29 - 9:59오전
제 리눅스 박스에서 메일로 로그를 날리게 해놨는데, 아웃룩에서 메일을 읽어보면 "필요 없는 줄바꿈이 제거되었습니다" 라면서 라인들이 붙어서 보입니다. 원상태로 돌려 볼 수 있지만 계속 그러다보니 불편해서, 매 라인마다 한줄씩 공백을 넣으면 되겠다 싶습니다.
c로 짜면 편한데 유지보수가 힘들 것 같아서 쉘 스크립트로 하고 싶은데요. sed에서 라인 끝마다 개행문자를 추가하려는데 잘 안되는군요. 일단 패턴 치환으로
sed "s/\n/\n\n/g" 해봤자 라인별로 읽어오기 때문에 치환 안되고, sed "a\\n" 해보면 a 명령은 개행문자 인식이 안되기 때문에 n이 추가됩니다.
어떻게 하면 될까요? 좋은 방법이 있으시면 좀 가르쳐주세요.
Forums:
Outlook express 라면 Ctrl+F3을 누를 경우 소스가 보입
Outlook express 라면 Ctrl+F3을 누를 경우 소스가 보입니다.
그런 오류를 만나본적은 없지만, 소스 상에서 개행문자가 모두 동일하지 않다면, 같게 맞춰주면 될 것입니다.
OE가 똘똘하게 \n, \r\n 둘중하나로 되어 있기만하다면 인식할걸요...
---
http://coolengineer.com
perl로 어렵게 짠다면
가 되지 않을까 싶습니다.
그런데 윈도우에서 문제가 없게 하려면
이렇게 해도 되지 않을까 싶은데
겪고 계신 문제가 정확히 어떤 건지 몰라서..
파이썬을 쓰세요 :-)2.3부터는 Universal Newline
파이썬을 쓰세요 :-)
2.3부터는 Universal Newline Support라고, 어느 플랫폼에서나 어떤 개행문자도 처리할 수 있게 되었습니다. 파일을 "U" 모드로 열면 됩니다.
하면 모든 개행문자가 \n으로 표준화됩니다.
--feanor
혹시.... sed G myfile > myfile
혹시....
sed G myfile > myfile
을 원하시는 건지... 질문의 의미를 잘 모르겠습니다... :roll:
:wq
[quote="niemand"][code:1]#!/home/bin/per
그리고 unix2dos로 파이프 해서 보내봤지만 마찬가지더군요.
그냥 제가 하고 싶은 건 일종의 workaround로 그냥 개행문자 \n만 추가해서 보내면 줄이 두줄씩 띄어져 보이지만 어쨌든 보기엔 편하니까 그렇게 하려구요..
그리고 제가 펄을 하나도 몰라서 ^^a stdin으로 받아서 stdout으로 뽑을 수 있을까요?
일단 지금은 sed로 sed "a\\ " 이렇게 공백문자로 추가시켰습니다. 어쨌든 저렇게 하면 공백문자 하나 있는 행이 추가되니 아웃룩에서 볼 때 빈 줄로 보이거든요.
rommance.net
[quote="단호진"]혹시.... sed G myfile &g
오, 제가 답변하는 사이에 많이 답변해주셨네요.
G라는 명령이 있었다니.! 제가 원하던 기능입니다!
g G Copy/append hold space to pattern space.
man 페이지에서 newline으로만 검색했는데 hold space라니 음..
감사합니다.
rommance.net
댓글 달기