ls 출력 파일에 헤더 쓰기

ls 출력 파일에 헤더 쓰기

gsutil빈 파일 목록을 다운로드하려면 다음 명령을 사용하고 있습니다 . "filename"출력을 쓰기 전에 헤더를 쓰고 싶습니다 .

gsutil ls -l "gs://test-data-prod-ingest/cm_data/AN/CM/*/a01_*_20210128*.csv.bz2" | awk '{if ($1 <= 100) print $3}' > ls_output.csv

출력은 다음과 같아야합니다

filename
somefile1
somefile2
---
---

답변1

노력하다:

...| awk '!hdr{ print "something as header"; hdr=1; }; $1 <= 100{ print $3; }'

이것의 장점은 awk가 stdin에서 무언가를 읽을 때만 헤더 라인이 인쇄되는 반면, BEGIN{...}블록 내부에 헤더 라인을 쓰면 입력에서 데이터를 읽지 않아도 헤더 라인이 인쇄된다는 것입니다.

또는 적어도 하나의 레코드가 인쇄 기준을 충족하는 경우에만 헤더를 인쇄하는 것이 더 좋습니다.

...| awk '$1<=100 { if (!hdr) { print "something as header"; hdr=1; }; print $3; } '

관련 정보