루프에서 gawk 명령을 실행하는 방법

루프에서 gawk 명령을 실행하는 방법

gawk 명령을 사용하여 파일에서 특정 열을 추출하려고 하는데 이 작업을 여러 번 수행해야 합니다.

gawk -F" " '{$2, $7, $8, $9 인쇄}' acr30R_vs_acr30NR_1.assoc.logistic>>/mnt/jw01-aruk home01/projects/jia_mtx_gwas_2016/common_files/output/impulated_dataset/all_50_mi_datasets/acr30R_vs_acr30NR_combined_coefficients/acr30nr_r_logistic_1. txt

gawk -F" " '{$2, $7, $8, $9 인쇄}' acr30R_vs_acr30NR_2.assoc.logistic>>/mnt/jw01-aruk-home01/projects/jia_mtx_gwas_2016/common_files/output/impulated_dataset/all_50_mi_datasets/acr30R_vs_acr30NR_combined_coefficients/acr30nr_r_logistic_2. txt

gawk -F" " '{$2, $7, $8, $9 인쇄}' acr30R_vs_acr30NR_.assoc.logistic>>/mnt/jw01-aruk-home01/projects/jia_mtx_gwas_2016/common_files/output/impulated_dataset/all_50_mi_datasets/acr30R_vs_acr30NR_combined_coefficients/acr30nr_r_logistic_. txt

위의 코드는 3개의 파일(접미사 1, 2, 3이 강조 표시됨)에서 추출하고 인쇄합니다. 50번까지 하고싶다

답변1

쉘 루프를 사용하여 이 작업을 수행할 수 있습니다.

for i in $(seq 1 3); do
    gawk -F" " '{print $2, $7, $8, $9}' acr30R_vs_acr30NR_${i}.assoc.logistic >>/mnt/jw01-aruk-home01/projects/jia_mtx_gwas_2016/common_files/output/imputed_dataset/all_50_mi_datasets/acr30R_vs_acr30NR_combined_coefficients/acr30nr_r_logistic_${i}.txt
done

필요에 따라 첫 번째 행의 합계 값을 바꿀 수 있습니다 1. 두 번째 줄(두 곳)을 3참고하세요 ${i}. 이 줄은 순서대로 각 값으로 대체됩니다.

관련 정보