2차원 배열 탐색

2차원 배열 탐색

표정이 있어요

ls -l `find . -type f` | tr -s [:space:] | cut -d ' ' -f 5 | sort | uniq -c  | tr -s [:space:] | sort -k 2n 

다음과 같은 2D 배열을 생성합니다.

 xx yy
 xx yy
 xx yy

여기서 xx는 발생 횟수이고 yy는 xx 발생이 있는 파일의 크기입니다. 내가 필요한 것은 각 셀 yy를 어떤 숫자(예: if (yy < 100 B) .. if(yy < kiB) .. 등)와 비교하고 이 인쇄 '#'을 기반으로 테이블에 xx번 오른쪽으로 이동하는 것입니다. 나는 노력하고있다

awk '{print $1;}'

하지만 하나의 열만 필요하며 C에서와 같이 행을 지정할 수는 없습니다.
어떻게 든 이것을 할 수 있습니까? dash, ksh 및 bash에서 작동해야 합니다.

답변1

각 블록 앞에 awk충족해야 하는 조건을 배치할 수 있습니다.

awk '$2 < 100 {for (i = 0; i < $1; i++) printf "#"; next;}
     $2 < 500 {for (i = 0; i < $1; i++) printf "x"; next;}
     ...'

관련 정보