【问题标题】:Append filename as additional column but with modification using awk将文件名附加为附加列,但使用 awk 进行修改
【发布时间】:2022-07-13 23:06:23
【问题描述】:

我正在尝试将文件名作为新列添加到文件内容中,但同时也删除了部分名称,全部使用 awk。

目前使用下面的代码让我快到了:

awk -v OFS='\t' '{print $1,$2,$3,$4,FILENAME}' A0631-Somatic-WGS.format.flt.txt

File contents:
X   120143898   6   88725363    A0631-Somatic-WGS.format.flt.txt
X   147991648   6   132706871   A0631-Somatic-WGS.format.flt.txt

我希望文件名仅保留名称,而不是第一个句点之后的任何内容。所以理想的输出应该是这样的:

File contents:
X   120143898   6   88725363    A0631-Somatic-WGS

我正在考虑执行 ${FILENAME%.format.flt.txt},但我无法让 awk 接受它作为其命令的一部分。不过我很确定这是可能的!

谢谢

【问题讨论】:

    标签: awk


    【解决方案1】:

    您可以在FILENAME 上使用sub 来删除以点开头的任何内容:

    awk -v OFS='\t' '{fn=FILENAME; sub(/\..+/, "", fn);
    print $1,$2,$3,$4,fn}' A0631-Somatic-WGS.format.flt.txt
    
    X   120143898   6   88725363    A0631-Somatic-WGS
    X   147991648   6   132706871   A0631-Somatic-WGS
    

    【讨论】:

      猜你喜欢
      • 2013-01-23
      • 2019-05-13
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2019-11-10
      相关资源
      最近更新 更多