[완료]바이너리 파일 grep

bgirl02의 이미지

텍스트파일내에 원치않은 바이너리 값이 있어서 이놈을 없애고
원래 값으로 치환하고 싶습니다.
파일이 한 천개정도되서 스크립트를 짜려고 하는데
이 바이너리 값들이 문자열로 잡히지가 않아서 스크립트를 짜기 쉽지 않습니다.
혹시 이 문제를 해결할 수 있는 팁을 아시는분 부탁드리겠습니다.
예제파일은 첨부하였습니다.

File attachments: 
첨부파일 크기
Plain text icon a.txt1.04 KB
불편한웹의 이미지

공부할 겸 만들어 봤습니다. 루비 스크립트입니다. 스크립트 중 할 줄 아는게 이것 밖에 없어서.
.grep 라는 함수(메소드)가 있습니다. if, while 등의 조건문과 .sub 또는 .gsub 함수(메소드)를 적절히 이용하면 해결하시는데 도움이 될 것 같습니다.

#!/usr/bin/ruby
# ruby 1.9.1 에서 테스트 했음
 
f = File.open("a_2.txt")
while(line = f.gets)
    line.sub!("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "NTHONTEHU")
    puts line
end

결과
$ ruby test.rb 
 7090  A 50107M001   7090                   115 20 48.3 -29 02 47.3   241.3
 7105  A 40451M105   7105                   283 10 20.2  39 01 14.1    19.2
 7110  A 40497M001   7110                   243 34 38.3  32 53 30.2  1839.0
 7237  A 21611S001   7237                   125 26 36.4  43 47 25.8   274.2
 7249  A 21601S004   7249                   115 53 31.4  39 36 24.9    81.7
 7405  A 41719M001   7405                   286 58 28.8 -36 50 34.8   169.3
 7406  A 41508S003   7406                   291 22 36.6 -31 30 31.0   727.3
 7501  A 30302M003   7501                    27 41 10.2 -25 53 22.9  1406.8
 7810  B             NTHONTEHU   7 27 54.7  46 52 38.0   951.3
 7825  A 50119S003   7825                   149 00 35.5 -35 18 58.1   805.0
 7832  A 20101S001   7832                    46 24 01.3  24 54 37.9   760.1
 7839  A 11001S002   7839                    15 29 36.1  47 04 01.6   539.4
 7840  A 13212S001   7840                     0 20 10.0  50 52 02.5    75.4
 7941  A 12734S008   7941                    16 42 16.6  40 38 55.2   537.0
bgirl02의 이미지

답글 감사합니다. 제가 접속한 서버에 ruby가 깔려있지않아 ruby 스크립트를 사용하지는 못했지만 덕분에 해결책을 찾았습니다.
감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.