【问题标题】:Loop through and print and sum columns linux循环并打印和汇总列linux
【发布时间】:2020-07-31 06:15:53
【问题描述】:

我想通过 chr1-chr22 标记相同的 22 个数据集。这是一个文件的样子。 als.sumstats.meta.chr10.txt.gz。我想解压缩这些文件并从列中提取所有数据 $2,$1,$3,$9 并在新列中合计 $14 和 $15。完成后我想压缩这些文件。我想返回一个附加表,其中包含来自上述每一列的所有数据以进行下游分析。这就是我在压缩/解压缩部分遇到的问题。

#!/bin/bash

FILES=/ALSsummaryGWAS/Summary_Statistics_GWAS_2016/als.sumstats.meta.chr{1..22}.txt.gz
for f in $FILES;
do
  echo "$FILES"
  echo "extracting columns 2,1,3,9"
  awk '{print $2,$1,$3,$9, $14+$15}' > ALSGWAS.txt
done

【问题讨论】:

    标签: linux loops gzip


    【解决方案1】:
    for f in $FILES; do
      gzip -d < $f | awk '{print $2,$1,$3,$9, $14+$15}' | tee -a all.txt | gzip > $f.sub
    done
    

    【讨论】:

    • 也可以用zcat "$f"代替gzip -d
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多