정규표현식의 도움이 필요합니다

ixevexi의 이미지

제가 리눅스엔 초짜라 아직 정규표현식을 모릅니다.

그런데 간단한 텍스트 치환작업을 해야하는데
배워서 할 시간이 매우 부족합니다 :oops:

고수님들 한번만 도와주시면 안될까요?

어느 디렉토리안에있는 모든 파일을 읽어서

: ? 문자를 >로 바꾸는 작업을 하려고 합니다.

see2002의 이미지

정규표현식 힌트를 알려드리자면,
echo 'fsjk??fjdk::??:?x::xx' | sed -e 's/[:\?]/>/g'
sed를 사용해서 치환을 한다면 s/[:\?]/>/g 부분이 되겠습니다.

eseo의 이미지

ixevexi wrote:

어느 디렉토리안에있는 모든 파일을 읽어서

: ? 문자를 >로 바꾸는 작업을 하려고 합니다.

이정도로 만들면 되겠네요.
이 스크립트에선, 변수 DIR 에서는 끝에 항상 "/"를 붙여 줘야 합니다.
알맞게 고쳐 쓰시길.

#!/bin/sh
DIR=tt/
for FILE in `ls $DIR`
do
    sed 's/?/>/g' $DIR$FILE > $DIR$FILE.tmp
    # mv $DIR$FILE.tmp $DIR$FILE    <- 확인 작업을 위해 막아놨음.
done

---
배려하는 마음을 갖자.

ixevexi의 이미지

음.. 해봤는데 제 질문이 잘못 된것 같습니다

.?이라는 문자두개를 < 로 바꾸는 거였는데요 -_-;;

꼭 저 패턴이 일치해야합니다

방법이 없을까요?

--------------덧붙임 ----------
정규식이 의외로 그리 어렵지 않네요
윗분들의 힌트로
위의 스크립트를 조금 바꾸어서 해보았습니다
중간 부분을

's/\.?/</g' 로 대치를 시켰는데
원하는 대로 안되더군요 :oops:
's/\.\?/</g' 도 역시 원하는 것이 아니었습니다
분명히 둘중 하나는 되야하는것 아닙니까?

?는 보기에 어떠한 와이드카드에도 대응하지 않는데 \를 쓰는 건 아닌거 같구

C++, 그리고 C++....
죽어도 C++

맹고이의 이미지

find . -type f -exec vim -c $'%s/\.?/</g\nwq\n' \{} \;

이렇게 해도 되네요... :o

find . -type f -exec perl -pi -e 's/\.\?/</g' \{} \;

이렇게 해도 되고... ;;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.