각 줄의 숫자 값을 기준으로 다른 파일에서 파일 만들기

각 줄의 숫자 값을 기준으로 다른 파일에서 파일 만들기

아래 값으로 csv 파일을 생성합니다.

yp1234,577,1,3
yp5678,570,3,5
yp9012,132,8,9

데이터를 추출하고 두 번째 열을 기반으로 파일을 생성해야 합니다. 값이 577보다 큰 경우 전체 줄을 추출하여 별도의 파일에 배치해야 합니다.

내 말은 두 번째 열이 577보다 큰 줄이 있는 파일이 필요하다는 뜻입니다.

답변1

아래 명령을 사용하여 수행할 수 있습니다.

awk -F "," ' $2 >= 577 ' filename.csv > create_files

위 내용의 전체 내용을 새 파일에 넣을 수 있으며(새 파일 이름을 로 지정했습니다 create_files) 이제 이 파일에서 새 파일을 만들 수 있습니다.

위 명령을 실행한 후 파일 이름 규칙을 언급하지 않았으므로 첫 번째 열이 파일 이름 역할을 할 수 있다고 가정했습니다. 따라서 다음과 같은 접근 방식을 따를 수 있습니다.

awk -F "," '{ print $1 }' create_files | while read a; do touch $a; done

awk파일 이름을 얻기 위해 첫 번째 열만 추출하는 명령을 사용하고 있으며 첫 번째 열을 기반으로 while루프와 touch명령을 사용하여 새 파일을 만듭니다.

그러나 첫 번째 열은 항상 고유하다고 가정합니다. 고유하지 않은 경우 다른 접근 방식을 따라야 할 수도 있습니다. 이를 위해서는 질문을 편집하고 어떤 파일 이름 규칙을 계획하고 있는지 언급해야 합니다.

답변2

awk열 1이 고유하다고 가정하여 원스톱 쇼핑

awk -F "," '$2 >= 577 { print $0 > $1 }' my.csv

관련 정보