【问题标题】:Concatenate multiple files based on similar ID in a loop循环连接基于相似ID的多个文件
【发布时间】:2020-09-17 10:16:35
【问题描述】:

我在同一个文件夹中有这些文件:

results1_1_2_4
results2_1_2_4
results3_1_2_4
results4_1_2_4
results5_1_2_4

results1_0.001_2_25
results2_0.001_2_25
results3_0.001_2_25
results4_0.001_2_25
results5_0.001_2_25

results1_0.1_3_50
results2_0.1_3_50
results3_0.1_3_50
results4_0.1_3_50
results5_0.1_3_50

我想为每个组合组合五个文件results1+results2+results3+results4+results5,例如“1_2_4”、“0.001_2_25”和“0.1_3_50”。所以输出应该是:

results_1_2_4
results_0.001_2_25
results_0.1_3_50

这里有一个类似的问题 (cat multiple files based on ID in filename),但我尝试过没有成功:

for f in results*; do cat "$f" >> "results${*_f%%}"; done

【问题讨论】:

    标签: bash loops concatenation cat parameter-expansion


    【解决方案1】:

    只是稍微调整一下参数扩展:

    for f in results*; do
      cat "$f" >> "results_${f#*_}"
    done

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 2021-12-15
      • 2018-04-24
      相关资源
      最近更新 更多