【问题标题】:Combine 3 files into one将3个文件合二为一
【发布时间】:2020-05-20 01:55:26
【问题描述】:

我有 3 个文件。

文件1

Red
Blue
Green

文件2

Apple LadyBug Fire Red Set1
Lettuce Grass Frog Green Set1
Jean Ocean Sky Blue Set1

文件3

BlueBerries Blue Set2
Rose Red Set2
Tree Green Set2

输出

Red
Apple LadyBug Fire Red Set1
Rose Red Set2

Blue
Jean Ocean Sky Blue Set1
BlueBerries Blue Set2

。 . .

Cat File1 File2 File3 > output4 | sort -u

或者

Grep -f File1 Filew File3 > output4

这不起作用。

【问题讨论】:

  • cat 文件 1 文件 2 文件 3 |排序 -u > output4
  • 能否请您详细说明合并文件的逻辑是什么?

标签: linux sorting grep cat


【解决方案1】:

我认为您正在尝试像模式一样使用file1。 那么这应该工作:

while IFS= read -r line; do 
    echo -e "\n-------"; 
    for foo in 'file2 file3'; do 
          echo $line; 
          grep -h $line $foo; 
    done; 
done < file1

【讨论】:

  • 你可以压缩不少。 for line in $(cat File1); do grep -hF $line File[123]; done ... 也可以在单个循环中添加水平规则线。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
相关资源
最近更新 更多