Grep 如何从目录中的所有文件中剪切列,并创建具有相同名称的新文件?

Grep 如何从目录中的所有文件中剪切列,并创建具有相同名称的新文件?,grep,cut,Grep,Cut,我在一个目录中有32个文件 每个文件的格式如下所示- geneA geneB样本 姓名countsA countsB 我希望剪切前两列并将它们粘贴到geneA的32个文件中,而第一列和第三列将进入geneB的文件中 我尝试的是cut-f1,2*>*_geneA.txt,其中输出中的*作为字符。有没有一种方法可以一蹴而就 提前感谢。此GNU awk程序请参见注释中的@EdMorton注释,从第一条记录中获取目标文件字段名,根据文件名和字段名创建文件,并在其上附加字段。在下面的示例中,我在文件fil

我在一个目录中有32个文件

每个文件的格式如下所示-

geneA geneB样本

姓名countsA countsB

我希望剪切前两列并将它们粘贴到geneA的32个文件中,而第一列和第三列将进入geneB的文件中

我尝试的是cut-f1,2*>*_geneA.txt,其中输出中的*作为字符。有没有一种方法可以一蹴而就


提前感谢。

此GNU awk程序请参见注释中的@EdMorton注释,从第一条记录中获取目标文件字段名,根据文件名和字段名创建文件,并在其上附加字段。在下面的示例中,我在文件file1和file2中使用了两次示例数据:

让我们看看其中的一个:

$ cat file1_geneA.txt
Sample geneA
Name countsA

如果您没有使用GNU awk,那么您需要在运行时关闭文件,并使用>>而不是>,否则您将遇到太多打开的文件错误。亲爱的James,我使用了更长的方法。我现在检查了脚本,它完全符合我的需要。非常感谢。
$ ls -rt | tail -n 4 
file1_geneB.txt
file1_geneA.txt
file2_geneB.txt
file2_geneA.txt
$ cat file1_geneA.txt
Sample geneA
Name countsA