열 값에 따라 텍스트 파일의 줄 복제

열 값에 따라 텍스트 파일의 줄 복제

텍스트/데이터와 풍부도 열이 포함된 열이 있는 텍스트 파일이 있습니다. 예:

자동차 3

애플 2

이 열을 서브샘플링하기 위해 풍부도 열의 양만큼 각 텍스트 열을 복제하고 싶습니다. 예:

자동차 1

자동차 1

자동차 1

사과 1

사과 1

예를 들어 awk를 사용하여 이를 수행하는 방법을 아시나요?

답변1

내가 질문을 제대로 이해했다면 당신은 이것을 할 수 있습니다

awk '{for(i=0;i<$NF;i++)print $1,"1\n"}' file

더 짧은 방법을 찾았습니다

awk '{while($2--)print $1,"1\n"}' file

답변2

노력하다

 awk '{ for (i=$2 ; i ; i--) printf "%s 1\n",$1 ; } ' < text

어디

- `for (i=$2 ; i ; i--)` is a loop that starting from second field value decrease to 1
- `printf "%s 1\n",$1`  print first field with a 1

관련 정보