리눅스에서 텍스트 파일 수정하기

익명 사용자의 이미지

코드질문이 처음이라 많이 서툽니다 죄송합니다

(1사진)은 리눅스시스템에서 lescan기능으로 스캔된 Beacon의 기록들을 시간대 별로 정리한 텍스트 파일입니다. 제가 하고 싶은것은 빨간색 네모와 같이 같은 시간대에 서로다른 여러개의 비콘 아이디가 검색이 되었을때에는 하나의 시간으로 뭉친다음에 아이디를 나열하는 형태로 하고 싶은데 어떻게 해야 할지 모르겠네요. 위의 사진으로만 봤을때는 빨간색 네모에서 연두 부분을 없에고 파란색 ID영역을 위에 라인의 비콘 ID옆에 붙이는걸 하고 싶어요

(2사진) 사진과 같은 왼쪽과 같은 형태로 텍스트가 있다면 왼쪽의 테스트를 오른쪽의 형태로 텍스트파일을 다시 만드는 리눅스 명령 코드가 어떻게 되는지 알고 싶습니다.

사진에 관한 코드는 밑과 같습니다

sudo timeout 30s stdbuf -i0 -o0 -e0 hcitool lescan --duplicates | perl -nle 'print scalar(localtime), " ", $_' >> data.log ; cat data.log|grep Beacon >>Beacon.log ; sort -u Beacon.log>>sorted.log

File attachments: 
첨부파일 크기
Image icon 사진1656.21 KB
Image icon 사진231.89 KB
chanik의 이미지

두 번째 사진의 결과를 만들려면, 입력파일 내용물이 첫 번째 컬럼을 키로 정렬돼있다는 가정하에 아래와 같은 방법이 가능하겠습니다.

$ cat sample2.txt
T1 ld1
T1 ld2
T1 ld3
T1 ld5
T2 ld4
T2 ld2
T2 ld1
T2 ld6
T3 ld7
T3 ld4
T3 ld5
T4 ld8
 
$ cat sample2.awk
#!/usr/bin/awk -f
{
  key = $1
  val = $2
  if(key != key_prev) {
    if(key_prev) printf "\n%s", $0
    else         printf   "%s", $0
    key_prev = key
  }
  else {
    printf " %s", val
  }
}
END{ printf "\n" }
 
$ ./sample2.awk sample2.txt
T1 ld1 ld2 ld3 ld5
T2 ld4 ld2 ld1 ld6
T3 ld7 ld4 ld5
T4 ld8

#아래와 같은 식으로 실행해도 됩니다.
 
$ cat sample2.txt | ./sample2.awk
$ cat sample2.txt | awk -f sample2.awk

그리고 첫 번째 사진의 결과를 만들려면, 아래와 같이 key, val 만드는 부분만 바꾸면 될 것입니다. 이건 테스트해보지 않았습니다. 입력은 key 순서대로 정렬돼 있어야 합니다.

  key = $1$2$3$4$5
  val = $7

댓글 달기

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