두 번째 파일의 정보를 기반으로 파일 내 행의 일부를 유지하는 방법은 무엇입니까?

자라

다음과 같은 데이터 파일이 있습니다.

file1:

c1.212 3.4 90
c1.011 4.4 33
c2.09432 7.7 76
c3.0911 8.3 83
c3.1121 4.3 23
c3.2223 2.2 22
c3.1211 2.2 12
c4.1211001 1.2 11
c4.1111222 1.2 10
c4.0000011 99 76
c5.123 11 01
c5.113 11 01
...

두 번째 파일은 다음과 같습니다.

c1.212
c3.2223
c3.0911
c5.113
...

첫 번째 열의 정보를 기반으로 한 파일 1에서 볼 수 있듯이 5 개의 그룹 (c1, c2, c3, c4 및 c5)이 있고 각 그룹에는 서로 다른 수의 하위 집합이 있습니다 (예 : c1에는 2 개의 하위 집합이 있지만 c2에는 하나의 하위 집합이 있음) 하지만 두 번째 파일에는 3 개의 그룹 (c1, c3 및 c5)이 있습니다. 내가 원하는 것은 file2에서 관찰되는 그룹이 모든 하위 집합이있는 파일 1에 남아 있고 해당 그룹이 파일 2 (c1 및 c4)에서 관찰되지 않는 경우 모든 하위 집합과 함께 file1에서 제거되는 것입니다. 따라서 출력은 다음과 같아야합니다.

output:
    c1.212 3.4 90
    c1.011 4.4 33
    c3.0911 8.3 83
    c3.1121 4.3 23
    c3.2223 2.2 22
    c3.1211 2.2 12
    c5.123 11 01
    c5.113 11 01
    ...

어떤 제안이라도 주시면 감사하겠습니다. (실제 파일에는 45,000 개 이상의 행이 있습니다)

스틸 드라이버

좋은 awk스테이플이 있습니다.

awk -F. 'NR==FNR {a[$1]++; next} $1 in a' file2 file1
c1.212 3.4 90
c1.011 4.4 33
c3.0911 8.3 83
c3.1121 4.3 23
c3.2223 2.2 22
c3.1211 2.2 12
c5.123 11 01
c5.113 11 01

또는 그룹 식별자 (가정 c1, c2파일에 다른 곳에서는 나타나지 않는 등), 당신은 사용할 수있는 cut다음 식별자를 추출하고, grep첫 번째 파일의 예에서 그들을 일치

$ cut -d. -f1 file2 | grep -Fwf- file1
c1.212 3.4 90
c1.011 4.4 33
c3.0911 8.3 83
c3.1121 4.3 23
c3.2223 2.2 22
c3.1211 2.2 12
c5.123 11 01
c5.113 11 01

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 번째 파일의 정보를 기반으로 첫 번째 파일의 정보를 그룹화하는 방법은 무엇입니까?

분류에서Dev

두 번째 파일의 정보를 기반으로 파일의 일부 열을 삭제하는 방법은 무엇입니까?

분류에서Dev

두 파일 간의 차이 결과를 세 번째 파일로 병합하는 방법은 무엇입니까?

분류에서Dev

두 파일 간의 차이 결과를 세 번째 파일로 병합하는 방법은 무엇입니까?

분류에서Dev

첫 번째 파일을 반복하고 AWK를 사용하여 두 번째 파일의 모든 행 옆에 첫 번째 파일의 각 행을 인쇄하는 방법은 무엇입니까?

분류에서Dev

두 열의 일치를 기반으로 두 파일을 병합하는 방법은 무엇입니까?

분류에서Dev

여러 열의 데이터를 기반으로 두 파일을 병합하는 방법은 무엇입니까?

분류에서Dev

PHP를 사용하여 csv 파일의 두 번째 열을 읽는 방법은 무엇입니까?

분류에서Dev

첫 번째 행의 정보를 기반으로 행을 그룹화하는 방법은 무엇입니까?

분류에서Dev

파일의 두 번째 줄 인쇄를 건너 뛰는 방법은 무엇입니까?

분류에서Dev

파일의 특정 내용을 다른 파일의 첫 번째 줄로 바꾸는 방법은 무엇입니까?

분류에서Dev

여러 파일의 결과를 기반으로 새 파일을 만들고 파일 이름을 첫 번째 열로 유지하는 방법은 무엇입니까?

분류에서Dev

입력 REST를 기반으로 동일한 요청에 대해 두 가지 유형의 JSON 응답을 보내는 방법은 무엇입니까?

분류에서Dev

Bootstrap에서 두 번째 행의 두 번째 열을 동일한 첫 번째 열 또는 첫 번째 행에 정렬하는 방법은 무엇입니까?

분류에서Dev

Python Pandas를 사용하여 csv 파일의 두 번째에서 마지막 행에 액세스하는 방법은 무엇입니까?

분류에서Dev

목록 내 튜플의 두 번째 요소 합계를 기반으로 목록을 정렬하는 방법은 무엇입니까?

분류에서Dev

코드를 실행하지 않고 HTML 파일의 내용을 반환하는 방법은 무엇입니까?

분류에서Dev

파이프 / 파일을 통해 데이터의 일부를 보내고 나중에 대화식으로 보내는 방법은 무엇입니까?

분류에서Dev

스타일 구성 요소를 하나의 파일로 내보내는 방법은 무엇입니까?

분류에서Dev

Windows에서 파일 이름을 일괄 적으로 바꾸고 파일 이름의 첫 번째 단어를 두 번째 단어로 바꾸는 방법은 무엇입니까?

분류에서Dev

두 번째 파일의 크기를 무시하면서 두 파일 비교

분류에서Dev

Markdown 파일의 구두점 내부에서 위첨자 인용 번호를 이동하는 방법은 무엇입니까?

분류에서Dev

파일 이름의 일부를 파일 내용에 붙여 넣는 방법은 무엇입니까?

분류에서Dev

awk를 사용하여 첫 번째 열과 두 번째 열의 첫 번째 줄을 단일 열로 인쇄하는 방법은 무엇입니까?

분류에서Dev

두 번째 엑셀 파일 팬더의 데이터를 기반으로 첫 번째 엑셀에서 엑셀 행을 제거하는 방법

분류에서Dev

sed를 사용하여 파일의 세 번째 행을 바꾸는 방법은 무엇입니까?

분류에서Dev

동일한 데이터 파일의 다른 열에있는 정보를 기반으로 열 내에 일부 값을 누적하는 방법은 무엇입니까?

분류에서Dev

정보를 파일로 보내는 방법은 무엇입니까?

분류에서Dev

Python에서 파일을 반복하고 파일의 일부를 삭제하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    두 번째 파일의 정보를 기반으로 첫 번째 파일의 정보를 그룹화하는 방법은 무엇입니까?

  2. 2

    두 번째 파일의 정보를 기반으로 파일의 일부 열을 삭제하는 방법은 무엇입니까?

  3. 3

    두 파일 간의 차이 결과를 세 번째 파일로 병합하는 방법은 무엇입니까?

  4. 4

    두 파일 간의 차이 결과를 세 번째 파일로 병합하는 방법은 무엇입니까?

  5. 5

    첫 번째 파일을 반복하고 AWK를 사용하여 두 번째 파일의 모든 행 옆에 첫 번째 파일의 각 행을 인쇄하는 방법은 무엇입니까?

  6. 6

    두 열의 일치를 기반으로 두 파일을 병합하는 방법은 무엇입니까?

  7. 7

    여러 열의 데이터를 기반으로 두 파일을 병합하는 방법은 무엇입니까?

  8. 8

    PHP를 사용하여 csv 파일의 두 번째 열을 읽는 방법은 무엇입니까?

  9. 9

    첫 번째 행의 정보를 기반으로 행을 그룹화하는 방법은 무엇입니까?

  10. 10

    파일의 두 번째 줄 인쇄를 건너 뛰는 방법은 무엇입니까?

  11. 11

    파일의 특정 내용을 다른 파일의 첫 번째 줄로 바꾸는 방법은 무엇입니까?

  12. 12

    여러 파일의 결과를 기반으로 새 파일을 만들고 파일 이름을 첫 번째 열로 유지하는 방법은 무엇입니까?

  13. 13

    입력 REST를 기반으로 동일한 요청에 대해 두 가지 유형의 JSON 응답을 보내는 방법은 무엇입니까?

  14. 14

    Bootstrap에서 두 번째 행의 두 번째 열을 동일한 첫 번째 열 또는 첫 번째 행에 정렬하는 방법은 무엇입니까?

  15. 15

    Python Pandas를 사용하여 csv 파일의 두 번째에서 마지막 행에 액세스하는 방법은 무엇입니까?

  16. 16

    목록 내 튜플의 두 번째 요소 합계를 기반으로 목록을 정렬하는 방법은 무엇입니까?

  17. 17

    코드를 실행하지 않고 HTML 파일의 내용을 반환하는 방법은 무엇입니까?

  18. 18

    파이프 / 파일을 통해 데이터의 일부를 보내고 나중에 대화식으로 보내는 방법은 무엇입니까?

  19. 19

    스타일 구성 요소를 하나의 파일로 내보내는 방법은 무엇입니까?

  20. 20

    Windows에서 파일 이름을 일괄 적으로 바꾸고 파일 이름의 첫 번째 단어를 두 번째 단어로 바꾸는 방법은 무엇입니까?

  21. 21

    두 번째 파일의 크기를 무시하면서 두 파일 비교

  22. 22

    Markdown 파일의 구두점 내부에서 위첨자 인용 번호를 이동하는 방법은 무엇입니까?

  23. 23

    파일 이름의 일부를 파일 내용에 붙여 넣는 방법은 무엇입니까?

  24. 24

    awk를 사용하여 첫 번째 열과 두 번째 열의 첫 번째 줄을 단일 열로 인쇄하는 방법은 무엇입니까?

  25. 25

    두 번째 엑셀 파일 팬더의 데이터를 기반으로 첫 번째 엑셀에서 엑셀 행을 제거하는 방법

  26. 26

    sed를 사용하여 파일의 세 번째 행을 바꾸는 방법은 무엇입니까?

  27. 27

    동일한 데이터 파일의 다른 열에있는 정보를 기반으로 열 내에 일부 값을 누적하는 방법은 무엇입니까?

  28. 28

    정보를 파일로 보내는 방법은 무엇입니까?

  29. 29

    Python에서 파일을 반복하고 파일의 일부를 삭제하는 방법은 무엇입니까?

뜨겁다태그

보관