f1
압축이 풀린 두 개의 파일을 다음 과 f2
같은 하나의 명령으로 병합하고 싶습니다 .
paste (zcat f1.gz) (zcat f2.gz).
올바른 구문은 무엇입니까?
답변1
거기쯤...
paste <(zcat f1.gz) <(zcat f2.gz)
답변2
훌륭한 답변: 정말 감사합니다.
저는 이를 사용하여 세 개의 열을 각각 압축 파일에 붙여넣었습니다.
공유용: 3200개의 Redhat 머신 소스, 매일 약 2억 5천만 포인트...
이는 모든 파일을 로컬에서 가져오는 정확한 방법은 아니지만 ansible
실제 작업에서 사용하는 아이디어를 캡처합니다.
for i in $(cat list_of_hostnames.txt)
do
sadf -U -- -A <file from yesterday> | pigz -9 > host_date_file.tsv.gz
done
작업 디렉터리에 이러한 파일이 모두 있다고 가정합니다.
pigz -cd *.tsv.gz| sed -E 's/\t/\n/g' | split --numeric-suffixes=1 -nr/6 - kk.
이 명령을 실행하면 값의 호스트 이름, 간격, 에포크, 장치, 메트릭 및 타임스탬프(초) kk.01
에 해당하는 6개의 압축 파일을 얻게 됩니다 .kk.06
공간을 절약하기 위해:
rm kk.02
(타임스탬프가 있는 간격은 필요하지 않습니다.) 그런 다음
pigz -9 kk.0[13456]
이제 이것은 다음을 사용할 때입니다.
paste <(zcat kk.05.gz ) <(zcat kk.01.gz) <(zcat kk.04.gz) <(zcat kk.06.gz) | grep '%idle' | pigz -9 > metric_host_device_value.tsv.gz