HTML 코드를 문자열로 만들기 – JavaScript

스크립트를 사용하여 텍스트를 일괄적으로 수정할 기회가 꼭 온다. 간단한 예를 들면 HTML 코드를 문자열로 만들 때 필요하다. 나의 경우 vim 에서 호출하지만 터미널에서 사용해도 문제 없다. 자바스크립트를 사용하여 표준 입력을 “로 감싸고 +를 붙여서 표준 출력으로 보낼 수 있다. 아래 코드를 a.html 파일로 저장하고


<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <meta charset="utf-8" />
    </head>
    <body>
    Hello
    </body>
</html>

아래 자바스크립트 코드를 a.js 파일로 만든다. 단, 이 스크립트를 수행하려면 Node.js 설치가 필요하다.


#!/usr/bin/env node
var cli = require('cli');

cli.withInput(function (line, newline, eof) {
  if (!eof) {
    this.output('"' + line + '" +');
  }
});

이 코드가 사용하는 cli 모듈을 설치한다.

npm install cli

그리고 아래 명령을 수행하면

node a.js < a.html

아래 결과를 볼 수 있다.


"<!DOCTYPE html>" +
"<html>" +
"    <head>" +
"        <title>test</title>" +
"        <meta charset="utf-8" />" +
"    </head>" +
"    <body>" +
"    Hello" +
"    </body>" +
"</html>" +

더 짧은 루비 코드로도 작성할 수 있다. 아래 코드를 a.rb 파일로 저장하고


#!/usr/bin/env ruby
ARGF.each_line {|line| print "\"" + line.gsub(/\n/,"\" +\n")}

아래 명령을 사용하면 된다.

ruby a.rb < a.html

어느 코드가 더 이해하기 쉬운지는 당신의 취향에 달렸다. 스크립트를 터미널에서 텍스트 처리 유틸리티로 사용하는 것은 편리하다. 당신이 사용하는 스크립트가 궁금하다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.