한 열의 값을 검색하고 파일의 다른 열에서 연결된 값을 검색합니다.

Ayush

4 개의 열과 데이터가있는 텍스트 파일이 있습니다.

P_ID         C_ID         Code         MSG
10            12          001         abcd
20            21          003         jklm
10            12          002         hijk

여기서 P_ID, C_ID, Code 및 MSG는 열입니다.

C_ID 열에 대해 검색을 수행해야합니다. 동일한 C_ID 값에 대한 여러 항목이 있지만 코드 및 MSG 열 값이 다른 경우 최종 파일은 아래의 예상 출력 파일에 표시된대로 결과를 가져야합니다. 여기서 code 및 msg 열 값은 단일 행에서 쉼표로 연결됩니다.

예상 출력은 다음과 같아야합니다.

P_ID          C_ID         Code          MSG
10             12         001,002        abcd,hijk
20             21         003            jklm

다음은 출력입니다.

1: NF=4
   $1=[P_ID]
   $2=[C_ID]
   $3=[Code]
   $4=[MSG]
2: NF=4
   $1=[10]
   $2=[12]
   $3=[001]
   $4=[abcd]
3: NF=4
   $1=[20]
   $2=[21]
   $3=[003]
   $4=[jklm]
4: NF=4
   $1=[10]
   $2=[12]
   $3=[002]
   $4=[hijk]

첫 번째 답변에서 제공된 솔루션의 출력은 다음과 같습니다.

P_ID    C_ID    Code    MSG
10      12      001     abcd
20             21         003            jklm
10             12         002            hijk

열 이름과 해당 데이터를 확인하는 awk 명령이 제대로 작동하지만 대답으로 제공된 첫 번째 명령이 예상 결과를 제공하지 않습니다.

G-Man이 말하는 '모니카 복원'

질문이 명확 해지면 수정해야 할 수도 있지만 현재 상태에 따라

awk '
    BEGIN   { unique_vals = 0 }
    NR == 1 { print }
    NR > 1  {
                if (seen[$2] == "") {
                        i = seen[$2] = unique_vals++
                        P_ID[i] = $1
                        C_ID[i] = $2
                        Code[i] = $3
                        MSG[i]  = $4
                } else {
                        i = seen[$2]
                        Code[i] = Code[i] "," $3
                        MSG[i]  = MSG[i]  "," $4
                }
            }
    END     {
                for (i=0; i<unique_vals; i++) {
                        printf "%-15s%-11s%-15s%s\n", P_ID[i], C_ID[i], Code[i], MSG[i]
                }
            }
    ' file

일을하는 것 같습니다.


좋아, 나는 당신이 실행하는 방법을 알고 있다고 가정합니다 awk. 그렇지 않다면 그렇게 말하십시오. 이 경우 다음 디버그 스크립트를 실행하십시오.

awk '
    {
        print NR ": NF=" NF
        print "   $1=[" $1 "]"
        print "   $2=[" $2 "]"
        print "   $3=[" $3 "]"
        print "   $4=[" $4 "]"
    }
    ' file

입력 파일에 입력하고 질문에 출력을 게시하십시오. ( ```"코드 펜스"를 사용하십시오 .) 그런 다음 여기에 다른 의견을 게시하여 그 작업을 수행했음을 알려주십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

행에 있어야하는 2 개의 값을 검색 한 다음 다른 열의 값을 반환합니다.

분류에서Dev

행에 있어야하는 2 개의 값을 검색 한 다음 다른 열의 값을 반환합니다.

분류에서Dev

csv 파일에서 목록 값을 검색하고 Python에서 다른 열 값을 반환합니다.

분류에서Dev

정확히 일치하지 않는 항목을 검색하고 찾은 경우 검색된 값 옆의 열에 저장된 값을 반환합니다.

분류에서Dev

배열의 값을 검색하고 다른 값을 얻습니다.

분류에서Dev

동일한 파일에서 문자열을 검색 및 교체하고 교체 된 수를 계산합니다.

분류에서Dev

다른 열의 조건 조합을 만족하는 한 열의 모든 고유 값 검색 (SQL)

분류에서Dev

여러 열에서 값을 검색하고 찾은 열의 오른쪽 열에있는 모든 결과를 반환합니다.

분류에서Dev

검색 값이 다른 단어의 병합 된 부분 인 문자열을 피하는 목록에서 동일한 내용을 가진 문자열 찾기

분류에서Dev

다른 열을 검색하여 동일한 행에 값 반환

분류에서Dev

한 파일의 패턴을 다른 파일로 검색하고 각 패턴의 결과를 새 파일에 저장하려면 어떻게해야합니까?

분류에서Dev

첫 번째 열 값을 분할하여 다른 두 열을 검색하고 단일 값을 반환합니다.

분류에서Dev

한 통합 문서의 열 값을 사용하여 다른 통합 문서의 열 검색

분류에서Dev

동일한 데이터 세트에서 얻은 다른 열 콘텐츠에서 작성된 파일의 파일 이름에 SQL 열 값을 연결합니다.

분류에서Dev

한 파일의 열을 다른 파일의 다른 열로 검색

분류에서Dev

두 개의 쿼리를 결합하고 열을 검색하려고합니다.

분류에서Dev

다중 파일에서 다중 문자열을 검색하고 "한 줄에 각 파일에 대한 결과"를 인쇄합니다.

분류에서Dev

Google 스프레드 시트에서 동일한 값을 검색하고 GAS의 다음 열에 추가

분류에서Dev

(PHP) 벡터에서 문자열의 일부를 검색하고 값을 반환합니다.

분류에서Dev

배열은 여러 위치에서 첫 번째 LatLng 데이터 만 검색하고 동일한 값을 정보창의 콘텐츠에 전달합니다.

분류에서Dev

삽입 된 값의 일부를 비교하고 sqlite의 특정 열에서 값을 검색합니까?

분류에서Dev

백본 컬렉션 : 컬렉션의 고유 한 값을 검색하고 고유 한 값을 합산합니다.

분류에서Dev

터미널 입력에서 Pandas의 특정 열을 검색하고 해당 값을 인쇄합니다.

분류에서Dev

키의 값으로 배열을 검색하고 다른 키의 값을 가져옵니다.

분류에서Dev

다른 배열의 값을 사용하여 한 배열에서 검색하는 방법 javascript

분류에서Dev

다른 파일의 값을 사용하여 한 파일에서 검색을 최적화하려면 어떻게해야합니까?

분류에서Dev

패턴을 검색하고 파일의 값을 바꿉니다.

분류에서Dev

다른 열에서 열 값을 검색하고 찾은 행에서 다음 열의 값을 다른 열에 할당

분류에서Dev

pandas : 목록을 포함하는 다른 df 열에서 한 df의 열 값 검색

Related 관련 기사

  1. 1

    행에 있어야하는 2 개의 값을 검색 한 다음 다른 열의 값을 반환합니다.

  2. 2

    행에 있어야하는 2 개의 값을 검색 한 다음 다른 열의 값을 반환합니다.

  3. 3

    csv 파일에서 목록 값을 검색하고 Python에서 다른 열 값을 반환합니다.

  4. 4

    정확히 일치하지 않는 항목을 검색하고 찾은 경우 검색된 값 옆의 열에 저장된 값을 반환합니다.

  5. 5

    배열의 값을 검색하고 다른 값을 얻습니다.

  6. 6

    동일한 파일에서 문자열을 검색 및 교체하고 교체 된 수를 계산합니다.

  7. 7

    다른 열의 조건 조합을 만족하는 한 열의 모든 고유 값 검색 (SQL)

  8. 8

    여러 열에서 값을 검색하고 찾은 열의 오른쪽 열에있는 모든 결과를 반환합니다.

  9. 9

    검색 값이 다른 단어의 병합 된 부분 인 문자열을 피하는 목록에서 동일한 내용을 가진 문자열 찾기

  10. 10

    다른 열을 검색하여 동일한 행에 값 반환

  11. 11

    한 파일의 패턴을 다른 파일로 검색하고 각 패턴의 결과를 새 파일에 저장하려면 어떻게해야합니까?

  12. 12

    첫 번째 열 값을 분할하여 다른 두 열을 검색하고 단일 값을 반환합니다.

  13. 13

    한 통합 문서의 열 값을 사용하여 다른 통합 문서의 열 검색

  14. 14

    동일한 데이터 세트에서 얻은 다른 열 콘텐츠에서 작성된 파일의 파일 이름에 SQL 열 값을 연결합니다.

  15. 15

    한 파일의 열을 다른 파일의 다른 열로 검색

  16. 16

    두 개의 쿼리를 결합하고 열을 검색하려고합니다.

  17. 17

    다중 파일에서 다중 문자열을 검색하고 "한 줄에 각 파일에 대한 결과"를 인쇄합니다.

  18. 18

    Google 스프레드 시트에서 동일한 값을 검색하고 GAS의 다음 열에 추가

  19. 19

    (PHP) 벡터에서 문자열의 일부를 검색하고 값을 반환합니다.

  20. 20

    배열은 여러 위치에서 첫 번째 LatLng 데이터 만 검색하고 동일한 값을 정보창의 콘텐츠에 전달합니다.

  21. 21

    삽입 된 값의 일부를 비교하고 sqlite의 특정 열에서 값을 검색합니까?

  22. 22

    백본 컬렉션 : 컬렉션의 고유 한 값을 검색하고 고유 한 값을 합산합니다.

  23. 23

    터미널 입력에서 Pandas의 특정 열을 검색하고 해당 값을 인쇄합니다.

  24. 24

    키의 값으로 배열을 검색하고 다른 키의 값을 가져옵니다.

  25. 25

    다른 배열의 값을 사용하여 한 배열에서 검색하는 방법 javascript

  26. 26

    다른 파일의 값을 사용하여 한 파일에서 검색을 최적화하려면 어떻게해야합니까?

  27. 27

    패턴을 검색하고 파일의 값을 바꿉니다.

  28. 28

    다른 열에서 열 값을 검색하고 찾은 행에서 다음 열의 값을 다른 열에 할당

  29. 29

    pandas : 목록을 포함하는 다른 df 열에서 한 df의 열 값 검색

뜨겁다태그

보관