解析两个文件并使用bash将字符串连接到一个文件中

bra*_*ard 4 bash grep concatenation

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

Foo.txt                  Foo2.txt
*1                        A
 2                        B
*3                        C
 4                        D
*5                        E
Run Code Online (Sandbox Code Playgroud)

我想拥有

FooFinal.txt
 2B
 4D
Run Code Online (Sandbox Code Playgroud)

我试图使用grep命令

grep -A 1 '*' Foo.txt|grep -v '*'
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何grep这两个文件.

我会假设有人会使用paste命令来连接,但我不确定.

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

谢谢!

Joh*_*024 5

回答修改后的问题

$ paste -d '' foo.txt foo2.txt | grep -v '^\*'
 2B
 4D
Run Code Online (Sandbox Code Playgroud)

回答原始问题

$ paste -d '' foo.txt foo2.txt | grep '^\*'
*1A
*3C
*5E
Run Code Online (Sandbox Code Playgroud)

这个怎么运作

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

    这将逐行组合两个文件.该选项-d ''告诉粘贴直接组合线而没有中间空格.

  • grep '^\*'

    这只选择那些以*.开头的行.

    对于修改后的问题,我们添加-v了反转匹配的内容:grep -v '^\*' 删除以开头的行*.