如何查找哪些文件来自哪台机器?

时间:2014-03-23 17:30:40

标签: linux bash shell unix diff

我有一个bash shell脚本,可以将文件从machineBmachineC移动到machineA

文件名如下所示,它位于此目录中 - /data/pe_t1_snapshot/20140320 machineBmachineC

weekly_1980_991_200003_5.data

上面的文件名将始终相同,因为我有多个文件,所以991的文件号将会改变。

是否可以使用某种文件子集machineB找出来自machineC的文件以及哪些文件来自machineA(diff in bash)的文件? 。我想从machineA运行命令来查找文件。

以下是我能想到的一种方式。我将在我的文件所在的machineA上运行以下命令,但不知何故它不会返回来自machineC的文件

diff -B <(ssh user@machineC "ls -R ~/20140320/") <(ls -R .)

我在做什么事吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方式:

cat <(ssh user@machineC "ls 20140320|sort -u") <(ls .|sort -u)|sort|uniq -d # list of file provided by machineC
cat <(ssh user@machineB "ls 20140320|sort -u") <(ls .|sort -u)|sort|uniq -d # list of file provided by machineB