小编mat*_*att的帖子

将文件名列添加到数百个文件 bash

我有数百个约 1000 万行的全基因组关联研究文件。对于file1.txt

SNP BP B   SE   P
123 12 0.1 0.01 0.1
...
Run Code Online (Sandbox Code Playgroud)

我想在每个文件的末尾添加一列,其中只包含该文件的名称,以便最终结果file1.txt是:

SNP BP B   SE   P   name
123 12 0.1 0.01 0.1 file1.txt
...
Run Code Online (Sandbox Code Playgroud)

我想对数百个文件执行此操作。目前我可以使用以下方法添加一列:

for file in *.txt; do awk 'BEGIN{OFS="\t"}{print $0, FILENAME}' $file; done
Run Code Online (Sandbox Code Playgroud)

这将打印整个文件,但不会覆盖现有文件。我只想向已经存在的数据框添加一列。任何建议非常感谢!

awk sed

1
推荐指数
1
解决办法
101
查看次数

标签 统计

awk ×1

sed ×1