쉘스크립트 조작

aussie9804의 이미지

쉘스크립트로 아래와 같은 기능을 구현해야 합니다만...

1. 파일 내용 치환 1

1.1. 환경 정의 파일(a.def)
A_TABLE 5 0 0 1 1 0
B_TABLE 3 1 0 0

<의미> A_TABLE의 컬럼은 5개이고, 3, 4번째 컬럼의 flag가 1이다. B_TABLE의 컬럼은 3개이고, 1번째 컬럼의 flag가 1이다.

1.2. 사용자 입력
1.2.1. 테이블명 : A_TABLE (환경 정의 파일에서 "A_TABLE 5 0 0 1 1 0" 레코드를 읽기 위해 입력받음)
1.2.2. 파일명 : a.del

<의미> 환경 정의 파일에서 A_TABLE의 정보를 읽어, 파일 a.del로부터 flag가 1로 설정된 컬럼에 해당하는 내용을 "*"로 변경한다.

1.3. 데이터 변경
변경 전 --> (csv형식)
"서울", "150", "서울주식회사", "5000", "특이사항"

변경 후 --> (csv형식)
"서울", "150", "**********", "****", "특이사항"

1.4. 이처럼 바이트 수에 맞게 데이터를 "*"로 변경하는 쉘을 어떻게 구현하면 될까요.
데이터 변경 처리 부분(1.3)만이라도 알려주시면 감사하겠습니다.

2. 파일 내용 치환 2

2.1. 파일 형식 : 일반 로그 파일

2.2. 변경 전 로그 파일 예
2009-04-13 14:20:32 test1.c 108 This is information1.
2009-04-13 14:20:32 test1.c 109 This is information2.
2009-04-13 14:20:32 test1.c 110 This is 홍길동's information3.
2009-04-13 14:20:32 test1.c 111 This is 강감찬's information4.

2.3. 변경 후 로그 파일 예
2009-04-13 14:20:32 test1.c 108 This is information1.
2009-04-13 14:20:32 test1.c 109 This is information2.
2009-04-13 14:20:32 test1.c 110 This is ******'s information3.
2009-04-13 14:20:32 test1.c 111 This is ******'s information4.

2.4. 이와 같이 로그 파일의 내용을 변경해야 하는 데, 좋은 방법이 있으시다면 조언 부탁드리겠습니다.
실은 메일주소, 전화번호와 같은 부분도 변경해야 하는데 그건 정규표현으로 하면 될 것 같은데..
한글 처리는 어떻게 하는 것이 가장 좋을까요. 아스키 코드 판별 등으로 치환할 수 있다면
간단할 것 같습니다만.. 쉘에서 아스키 코드 판별 같은게 가능한가요?

읽어주셔서 감사합니다.
그럼, 답변 부탁드리겠습니다.

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.