mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Friday, February 02, 2007

Perl/펄 정규식] 줄바꿈 문자 제거, 개행 문자 삭제; Text File Remove Newline (Enter Key)


각 줄마다 엔터 키(Enter Key)가 쳐져 있는 텍스트 파일에서 정규식을 사용하여, 엔터 키(Enter Key)문자 즉 줄바꿈 문자를 모두 지우고, 한 줄로 이어 붙이는 방법입니다.

실은 줄바꿈 문자를 ", " 이렇게 쉼표+공백1개로 치환합니다.

텍스트 파일 처리 소스: 정규식으로, 엔터 키(Enter Key) 지우기


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

  # 명령행으로 지정한 텍스트 파일을,
  # 통째로 하나의 배열에 저장
  my $s = join "", <>;


  # 줄바꿈 문자를 "쉼표+공백"으로 모두 치환
  $s =~ s/\n/, /g;


  # 결과 출력
  print $s, "\n";




테스트용으로 사용할 텍스트 파일: test.txt
1
2
3
4
5
6
7
8
9
10
11
12
자장면
탕수육
비빔면



실행 결과 화면:
D:\Z>example.pl test.txt
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 자장면, 탕수육, 비빔면,

D:\Z>


원본 파일인 test.txt 의 내용들은 각 행에 줄바꿈이 되어 있습니다. 즉 Enter키가 쳐져 있습니다.

그러나 출력 결과에서는 이제 줄바꿈이 없어지고, 한 줄로 이어져 있습니다. 다만, 콤마와 띄어쓰기용 공백을 넣어 분리해 주었습니다.

콤마 없이 완전히 이어 붙이려면,
$s =~ s/\n//g;
이렇게 코드를 고칩니다.



출력 결과를 텍스트 파일로 저장하려면

example.pl test.txt > out.txt

이렇게 재지향(Redirection)을 사용하면 됩니다.




정규식이 아닌 chomp 함수를 사용하여 위와 같은 작업을 하는 예제 소스입니다: ▶▶ Perl/펄] 텍스트 파일에서, 개행문자 제거, 한줄로 출력; Text File Delete Newline




tag: perl
Perl | 펄
tag: regex
정규식 | 정규표현식 | Regex | Regular Expression

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top