두 번째 열의 구분 기호에 따라 CSV 파일의 단일 행을 여러 행으로 분할하는 방법

Asr

내 base.csv 파일에는 아래에 샘플이있는 여러 항목이 있습니다.

NAME,IP_ADDRESS,PRI_IP,APP_CODE,APP_NAME,OWNER
test2,10.9.7.12/10.222.101.11,10.9.9.12,545,myapp1,owner1
mytest,10.9.7.12,10.9.9.12,545,myapp1,owner9
checkthis,10.9.7.12/10.222.101.11/10.3.2.111,10.9.9.12,545,myapp1,owner7

참고 : 두 번째 열은 항상 구분 기호로 구분 된 단일 또는 다중 IP 주소입니다. /

나는 newbase.csv항상 하나의 ip만을 갖는 두 번째 컬럼 으로 만들고 싶습니다 .

따라서 원하는 newbase.csv는 다음과 같습니다.

test2,10.9.7.12,10.9.9.12,545,myapp1,owner1
test2,10.222.101.11,10.9.9.12,545,myapp1,owner1
mytest,10.9.7.12,10.9.9.12,545,myapp1,owner9
checkthis,10.9.7.12,10.9.9.12,545,myapp1,owner7
checkthis,10.222.101.11,10.9.9.12,545,myapp1,owner7
checkthis,10.3.2.111,10.9.9.12,545,myapp1,owner7

아래에서는 필요한 열을 제공하지만 두 번째 열에 여러 IP를 포함하는 행을 여러 행으로 분할하지는 않습니다.

cat -- base.csv | cut -d, -f2-5 > newbase.csv

제안 해 주시겠습니까?

스틸 드라이버

Miller 중첩 함수를 사용하여 레코드간에 값 분해 할 수 있습니다 .

$ mlr --csv nest --explode --values --across-records --nested-fs '/' -f IP_ADDRESS base.csv
NAME,IP_ADDRESS,PRI_IP,APP_CODE,APP_NAME,OWNER
test2,10.9.7.12,10.9.9.12,545,myapp1,owner1
test2,10.222.101.11,10.9.9.12,545,myapp1,owner1
mytest,10.9.7.12,10.9.9.12,545,myapp1,owner9
checkthis,10.9.7.12,10.9.9.12,545,myapp1,owner7
checkthis,10.222.101.11,10.9.9.12,545,myapp1,owner7
checkthis,10.3.2.111,10.9.9.12,545,myapp1,owner7

최신 버전에서는 이렇게 --explode --values --across-records --nested-fs '/'축약 될 수 있습니다.--evar '/'

mlr --csv nest --evar '/' -f IP_ADDRESS base.csv >newbase.csv

또는 awk로 :

awk -F, '
  BEGIN{OFS=FS}
  {
    n = split($2,a,"/")
    for(i=1;i<=n;i++) {
      $2=a[i]; print
    }
  }
' base.csv >newbase.csv

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python의 csv 파일에서 첫 번째 열의 값을 기준으로 행을 구분하는 방법

분류에서Dev

쉼표 구분 기호를 사용하여 여러 행의 값을 단일 행으로 결합하는 방법

분류에서Dev

CSV 파일에서 단일 열을 여러 열로 분할하는 방법

분류에서Dev

PowerShell을 사용하여 CSV 파일의 동일한 행에 여러 값을 포함하는 단일 셀을 기반으로 한 행을 여러 행으로 분리하는 방법

분류에서Dev

첫 번째 열 awk에 따라 파일을 분할하는 방법

분류에서Dev

두 번째 열의 첫 번째 숫자로 파일을 더 작게 분할하는 방법

분류에서Dev

SQL에서 단일 행을 여러 행으로 분할하는 방법

분류에서Dev

Python : 두 번째 파일에 값이있는 경우 두 개의 csv 파일을 비교하고 첫 번째 파일에 분류자를 추가하는 방법

분류에서Dev

거기에 구분 기호가 없을 때 pandas 열의 단일 문자열을 여러 열로 분할하는 방법이 있습니까?

분류에서Dev

SQL 두 개의 다른 구분 기호가있는 한 열을 여러 변수 열로 분할하는 방법

분류에서Dev

여러 열을 구분 기호로 연결하지만 R의 조건에 따라 일부 열을 무시하는 방법은 무엇입니까?

분류에서Dev

여러 번 반복되는 구분 기호 유형에 따라 문자열을 여러 열로 분할하는 방법은 무엇입니까?

분류에서Dev

단일 행을 여러 행으로 분할하는 방법, 각 행에는 Excel 표의 서로 다른 열에 대한 고유 한 셀 값이 있습니다.

분류에서Dev

csv 파일 / pandas 데이터 프레임을 다른 열의 그룹화에 따라 여러 파일로 분할

분류에서Dev

여러 값의 단일 행을 여러 개별 행으로 분할하는 방법

분류에서Dev

열 1의 값에 따라 행을 구분하는 방법

분류에서Dev

CSV 파일을 분할하고 열을 기반으로 여러 CSV 파일을 만드는 방법

분류에서Dev

CSV 파일을 분할하고 열을 기반으로 여러 CSV 파일을 만드는 방법

분류에서Dev

두 파일의 열을 세 번째 파일의 행으로 복사하는 방법

분류에서Dev

두 개의 csv 파일을 통합하여 두 기존 csv 파일에서 선택한 행이있는 세 번째 csv 파일을 생성합니다.

분류에서Dev

첫 번째 열을 기준으로 탭으로 구분 된 여러 파일의 특정 열 결합

분류에서Dev

구분 기호가 마지막으로 나타날 때 bash에서 문자열의 첫 번째 부분과 두 번째 부분을 얻는 방법

분류에서Dev

행 / 행이 동일하지 않은 여러 파이프로 구분 된 파일을 첫 번째 열을 기준으로 하나로 결합

분류에서Dev

R의 조건에 따라 텍스트 파일을 여러 .txt 파일 또는 데이터 프레임으로 분할하는 방법은 무엇입니까?

분류에서Dev

SqlServer에서 여러 행의 단일 열을 여러 열이있는 단일 행으로 조인하는 방법

분류에서Dev

각 행에 여러 열이있는 CSV 파일을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Power Shell에서 LINQ 쿼리를 사용하여 csv 파일의 두 번째 열을 정렬하는 방법

분류에서Dev

한 행 두 개의 datetime 열을 여러 행으로 분할하고 날짜별로 그룹화하는 방법

분류에서Dev

GridLayout, 두 번째 행을 두 개의 동일한 부분으로 분할

Related 관련 기사

  1. 1

    Python의 csv 파일에서 첫 번째 열의 값을 기준으로 행을 구분하는 방법

  2. 2

    쉼표 구분 기호를 사용하여 여러 행의 값을 단일 행으로 결합하는 방법

  3. 3

    CSV 파일에서 단일 열을 여러 열로 분할하는 방법

  4. 4

    PowerShell을 사용하여 CSV 파일의 동일한 행에 여러 값을 포함하는 단일 셀을 기반으로 한 행을 여러 행으로 분리하는 방법

  5. 5

    첫 번째 열 awk에 따라 파일을 분할하는 방법

  6. 6

    두 번째 열의 첫 번째 숫자로 파일을 더 작게 분할하는 방법

  7. 7

    SQL에서 단일 행을 여러 행으로 분할하는 방법

  8. 8

    Python : 두 번째 파일에 값이있는 경우 두 개의 csv 파일을 비교하고 첫 번째 파일에 분류자를 추가하는 방법

  9. 9

    거기에 구분 기호가 없을 때 pandas 열의 단일 문자열을 여러 열로 분할하는 방법이 있습니까?

  10. 10

    SQL 두 개의 다른 구분 기호가있는 한 열을 여러 변수 열로 분할하는 방법

  11. 11

    여러 열을 구분 기호로 연결하지만 R의 조건에 따라 일부 열을 무시하는 방법은 무엇입니까?

  12. 12

    여러 번 반복되는 구분 기호 유형에 따라 문자열을 여러 열로 분할하는 방법은 무엇입니까?

  13. 13

    단일 행을 여러 행으로 분할하는 방법, 각 행에는 Excel 표의 서로 다른 열에 대한 고유 한 셀 값이 있습니다.

  14. 14

    csv 파일 / pandas 데이터 프레임을 다른 열의 그룹화에 따라 여러 파일로 분할

  15. 15

    여러 값의 단일 행을 여러 개별 행으로 분할하는 방법

  16. 16

    열 1의 값에 따라 행을 구분하는 방법

  17. 17

    CSV 파일을 분할하고 열을 기반으로 여러 CSV 파일을 만드는 방법

  18. 18

    CSV 파일을 분할하고 열을 기반으로 여러 CSV 파일을 만드는 방법

  19. 19

    두 파일의 열을 세 번째 파일의 행으로 복사하는 방법

  20. 20

    두 개의 csv 파일을 통합하여 두 기존 csv 파일에서 선택한 행이있는 세 번째 csv 파일을 생성합니다.

  21. 21

    첫 번째 열을 기준으로 탭으로 구분 된 여러 파일의 특정 열 결합

  22. 22

    구분 기호가 마지막으로 나타날 때 bash에서 문자열의 첫 번째 부분과 두 번째 부분을 얻는 방법

  23. 23

    행 / 행이 동일하지 않은 여러 파이프로 구분 된 파일을 첫 번째 열을 기준으로 하나로 결합

  24. 24

    R의 조건에 따라 텍스트 파일을 여러 .txt 파일 또는 데이터 프레임으로 분할하는 방법은 무엇입니까?

  25. 25

    SqlServer에서 여러 행의 단일 열을 여러 열이있는 단일 행으로 조인하는 방법

  26. 26

    각 행에 여러 열이있는 CSV 파일을 구문 분석하는 방법은 무엇입니까?

  27. 27

    Power Shell에서 LINQ 쿼리를 사용하여 csv 파일의 두 번째 열을 정렬하는 방법

  28. 28

    한 행 두 개의 datetime 열을 여러 행으로 분할하고 날짜별로 그룹화하는 방법

  29. 29

    GridLayout, 두 번째 행을 두 개의 동일한 부분으로 분할

뜨겁다태그

보관