在连续的文件名查找丢失的数字(高级LS&找到)(Find missing numbers in co

2019-10-29 05:08发布

比方说,我有一个生成随着时间的推移(100,101,102,103,104,等...)递增文件夹名的脚本。 这些文件夹机之间的同步,并有创建失败的对系统2任意给定的文件夹中的机会。

系统1总是同步的:100/101 /一百○三分之一百○二/ 104 /等...

系统2可具有错误:100/102/10 3 /等...

(你可以看到,101 /&104 /缺少对系统2)

怎样才能在系统2中的所有丢失的文件夹列表?

PS Rsync是不是一个真正的选择,因为文件夹的实际数量是非常高的。

Answer 1:

你可以管的内容ls每台机器上的文件,然后diff的两个文件。 您也可以使用命令comm ,以显示对方表示只在一个文件中的行,而不是。



Answer 2:

你可以这样做:

% ls -1 System1 > ls.System1            # Use the -1 flag to ensure 1 dir per line
% ls -1 System2 > ls.System2
% comm -23 ls.System1 ls.System2
101
104

在通讯命令可以告诉你什么是常见的两种,唯一的F1,或独特的F2:

comm -12 f1 f2  # common to both
comm -23 f1 f2  # unique to f1
comm -13 f1 f2  # unique to f2


Answer 3:

因为它们发生刚才生成的成功作品列表



Answer 4:

您可以使用差异。 假设你已经映射系统2的路径

diff system1/path system2/path


文章来源: Find missing numbers in continuous filenames (advanced ls & find)