问题描述
非常感谢您对此事的任何建议和反馈。 这是我的情况:
我有一个包含数百个文件的目录,所有文件都以foo *开头并以* .txt结尾。但是,它们之间的区别是开头和结尾之间都有唯一的标识符“ Group#。#”,并且文件看起来像这样:
foo.Group1.1.txt
foo.Group1.2.txt
foo.Group1.4.txt
foo.Group2.45.txt
.
.
.
foo.Group16.9.txt
文件从第1组开始,在第16组结束。它们是简单的一列txt文件,每个文件有数千行。每行是一个数字。
我想对这些文件进行一系列的连接,在这些文件中,我将除那些文件之外的所有文件都与“ Group1”进行连接,然后将除“ Group1”和“ Group2”之外的所有文件以及除“ Group1”之外的所有文件进行串联, “ Group2”和“ Group3”等等,直到剩下最后一个组:“ Group16”
为此,我使用带有否定语法的bash扩展的globlob表达式来连接除ID为“ Group1”的文件以外的所有文件。
我创建一个目录“ jacks”,并将连接的文件输出到此子目录中的txt文件中:
cat !(*Group1.*) > jacks/jackknife1.freqs.txt
然后我可以继续使用此命令,但为后续串联添加“ Group2”和“ Group3”。
cat !(*Group1.*|*Group2.*) > jacks/jackknife2.freqs.txt
cat !(*Group1.*|*Group2.*|*Group3.*) > jacks/jackknife3.freqs.txt
从技术上讲,这可行。而且16组并不是太难于手动执行此操作。 但是我想知道是否存在一种方法,也许可以使用循环或bash脚本来自动化该过程并加快速度?
对于这个问题,我将不胜感激!
非常感谢你, 丹妮拉
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)