[해결] vim, sed, wc에 대해서 질문 드립니다. (감사합니다.)

sephi의 이미지

vim, sed, wc에 대해 도움말을 봐도 찾지 못하고 있는
몇 가지 내용을 질문 드리고자 합니다.

1. vim 질문
의미없는 글자 혹은 규칙이 없는 글자에서
정확히 3번째에 콤마를 찍고 싶습니다.

asdfasdfasdf
aaxfzcvzxcv
axdfqewrdf

===>
asd,fasdfasdf
aax,fzcvzxcv
axd,fqewrdf

vim에서 이런 식으로 수정할 수 있을까요?

2. sed 질문

== aa.log ==
20100126[asdfasdfadfasdf]
20100126[zxcvzxcvzxbzfgsdgsd]
20100127[zvxcvzxbfgsdgsd]
20100127[asdfasdffasdf]

> cat aa.log | sed -e "s/\[.*$//g"
20100126
20100126
20100127
20100127

현재는 이런 식으로 값을 구하고 있습니다
[를 찾아서 그 다음을 삭제하는 거죠.
그런데 각줄에 데이터가 일정한 값이 없을 때, 값을 찾기가 어렵습니다.

예를들어,

20100126asdfasdfadfasdf
20100126zxcvzxcvzxbzfgsdgsd
20100127zvxcvzxbfgsdgsd
20100127asdfasdffasdf

값이 있을때, 같은 결과를 가져 오려면, 어떻게 해야 하는지요?
^.\[8\] 로 선택한 결과만 가져오려 할 때,
다시 말하면 선택한 부분만 빼고 나머지 부분을 삭제하려 할 땐
어떻게 해야 하는지요?

3. wc 질문

== aa.log ==
20100126[asdfasdfadfasdf]
20100126[zxcvzxcvzxbzfgsdgsd]
20100126[zvxcvzxbfgsdgsd]
20100126[asdfasdffasdf]
20100127[zvxcvzxbfgsdgsd]
20100127[asdfasdffasdf]

> cat aa.log | grep 20100126 | wc - l
4

로 나옵니다. 이런걸 shell로 작성하지 않고 간단하게

20100126 4
20100127 2

이런 식에 결과를 가져올 방법이 있을까요?

답변해주시면 감사하겠습니다. >.<

neocoin의 이미지

1.

:help pattern
:%s/^\(...\)/\1,

4. wc는 답이 없고, 그냥 당장 생각나는건 다음꺼.. 하하 그런데 결과가 거꾸로네요.

cat a.txt | awk 'BEGIN {FS="["}; {print $1}' | uniq -c

   4 20100126
   2 20100127

sephi의 이미지

그런데, 제가 이해가 안가는 부분이
뒤에 \1에 의미가 잘 이해가 안가는데요.
간략하게 알려 주시면 안될까요? .. >.<

neocoin의 이미지

답변달면 edit 안되는군요. 원하시는게 awk가 아니라서 그냥 고치고 있었는데.. 뭐 패스하죠. 패턴 문서 좀더 보시면됩니다. 제가 sed를 자주 안써서 ..

\1 는 group matching 입니다.

:help /\(
:help \1

4번 다시..

cat a.txt | sed -e "s/^\(.\{8\}\).*/\1/g" | uniq -c
sephi의 이미지

감사합니다. 복 받으실꺼에요.
저장해 놓구 bible로 삼겠습니다.>.<

neocoin의 이미지

여기 초고수님들 앞에 지렁이라서.. 아마 1년 후에 보시면서 하하하 하실꺼에요 ;;

lacovnk의 이미지

게시판 이동했습니다

댓글 달기

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