在linux中将文件名添加到文件的第一行
我有很多这样的文件在linux中将文件名添加到文件的第一行,linux,cat,Linux,Cat,我有很多这样的文件 1 rs10488368 180568 T ADD 11 -2.714 -7.016 6.213e-05 1 rs2906334 189547 C ADD 11 -2.714 -7.016 6.213e-05 2 rs10092114 190451 T ADD 11
1 rs10488368 180568 T ADD 11 -2.714 -7.016 6.213e-05
1 rs2906334 189547 C ADD 11 -2.714 -7.016 6.213e-05
2 rs10092114 190451 T ADD 11 -2.714 -7.016 6.213e-05
3 rs2906347 198834 C ADD 11 -2.714 -7.016 6.213e-05
命名为plinky.P1.assoc.linear、plinky.P2.assoc.linear等
我使用cat*.assoc.linear>all_files.tx
t将它们组合在一起,但最后我不知道哪一行来自哪个文件
因此,我希望得到一个包含所有文件(plinky.P1.assoc.linear、plinky.P2.assoc.linear等)的文件,如下所示:
1 rs10488368 180568 T ADD 11 -2.714 -7.016 6.213e-05 plinky.P1.assoc.linear
1 rs2906334 189547 C ADD 11 -2.714 -7.016 6.213e-05 plinky.P1.assoc.linear
1 rs10092114 190451 T ADD 11 -2.714 -7.016 2.253e-04 plinky.P1.assoc.linear
1 rs2906347 198834 C ADD 11 -2.714 -7.016 6.213e-05 plinky.P1.assoc.linear
1 rs10488368 180568 T ADD 11 -2.714 -7.016 4.513e-05 plinky.P2.assoc.linear
1 rs2906334 189547 C ADD 11 -2.714 -7.016 6.913e-05 plinky.P2.assoc.linear
2 rs11988064 190422 C ADD 11 -1.292 -1.329 0.2165 plinky.P2.assoc.linear
2 rs10092114 190451 T ADD 11 -2.714 -7.016 6.213e-05 plinky.P3.assoc.linear
3 rs2906347 198834 C ADD 11 -2.714 -7.016 6.213e-05 plinky.P3.assoc.linear
4 rs11782267 201877 C ADD 11 -1.292 -1.329 0.2165 plinky.P3.assoc.linear
8 rs3008268 202123 T ADD 11 -1.9 -1.25 0.2428 plinky.P3.assoc.linear
8 rs10435671 202498 T ADD 11 -1.9 -1.25 0.2428 plinky.P3.assoc.linea
r
等等
但在我看来这很难做到,所以不知道这是否可行
谢谢你的帮助
Floris此解决方案将
cat
与sed
相结合,以获得所需的输出
for f in *.txt ; do cat $f | sed 's/$/ '$f'/' >> all_files.txt; done
您的标题与问题描述不匹配-请修复