解析两个文件并使用bash

时间:2016-10-19 21:28:15

标签: bash grep concatenation

我有两个文本文件,我想解析,然后使用grep调用将解析的两行合并到一个文件中。例如:

Foo.txt                  Foo2.txt
*1                        A
 2                        B
*3                        C
 4                        D
*5                        E

我想

FooFinal.txt
 2B
 4D

我正在尝试使用grep命令

grep -A 1 '*' Foo.txt|grep -v '*'

但是,我不确定如何grep这两个文件。

我认为会使用paste命令进行连接,但我不确定。

另外,如果这很难理解,请告诉我,以便澄清。

谢谢!

1 个答案:

答案 0 :(得分:5)

回答修订问题

$ paste -d '' foo.txt foo2.txt | grep -v '^\*'
 2B
 4D

回答原始问题

$ paste -d '' foo.txt foo2.txt | grep '^\*'
*1A
*3C
*5E

如何运作

  • paste -d '' foo.txt foo2.txt

    这将逐行合并这两个文件。选项-d ''告诉粘贴直接组合线条而没有插入空格。

  • grep '^\*'

    这仅选择以*开头的那些行。

    对于修订后的问题,我们添加-v来反转匹配:grep -v '^\*' 删除*开头的行。