如何根据另一个文件的内容对一个文件的内容进行排序

lac*_*991 0 sorting bash debian file

我有两个文件,一个内容类似于以下内容:

1.something344343
2.something2dsdsf
4.somethingdsddfsd
5.something920j329
Run Code Online (Sandbox Code Playgroud)

第二个文件将是:

1.somethingwoimewoiew
3.something9jwe90jew
7.something90kjwe90ewk
Run Code Online (Sandbox Code Playgroud)

本质上,第一个文件有更多编号的行,然后第二个文件有,第一个文件最多约39,000行,而第二个文件最多只有23,000行.话虽如此,是否有人知道如何将第一个文件分成文件2中包含的行号(冒号前面的数字)和未包含在文件2中的行(这将在bash环境中).最终的结果将是这样的:

lines included in second file:
1.something344343

lines not included in second file:
2.something2dsdsf
4.somethingdsddfsd
5.something920j329
Run Code Online (Sandbox Code Playgroud)

我已经考虑过可以用来做这个的不同方法,但遗憾的是还没有能够提出任何有效的解决方案,如果有人可以帮助解决这个问题,虽然我真的很感激,谢谢!

Gur*_*uru 5

第二个文件中包含的行:

$ join -t"." -o 0,1.2 f1 f2
1.something344343
Run Code Online (Sandbox Code Playgroud)

第二个文件中未包含的行:

$ join -t"." -v1 f1 f2
2.something2dsdsf
4.somethingdsddfsd
5.something920j329
Run Code Online (Sandbox Code Playgroud)