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

 
Previous Post Java/자바] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(F...C언어] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(Fibon...Python/파이썬] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 ...Perl/펄] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(Fi...Perl/펄] sprintf 함수 사용 법; printf 출력을, 문자열로 저장; Outp...Excel/엑셀 VBA] 문자열 크기/길이, 글자 수/바이트 수 계산 함수; String ...C언어] printf() 함수 출력을, 문자열로 저장하는 법; printf to Strin...C언어] 나머지 값 연산자 사용 법, 퍼센트 기호(%); Modulus Operator, ...C언어] 올해 연도(년도) 4자리, 2자리로 구하기/출력; Current Year Form...C언어] 올해가 윤년인지 평년인지 판단 예제; Current Year is Leap Yea...

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

Friday, February 02, 2007

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

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

텍스트 파일 처리: 정규식으로, 엔터 키(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



0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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