首 页 行业资讯 新车 试驾评测 养车用车 车型库

linux如何比较两个文件夹的差异,然后复制差异文件到另一个文件夹

发布网友 发布时间:2022-04-23 14:43

我来回答

1个回答

热心网友 时间:2023-10-19 03:35

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#
定义目录变量,便于引用
A=/tmp/A
B=/tmp/B
C=/tmp/C
#
显示B目录文件,按列显示,便于for循环时按行读取
ls
"$B"|awk
'{print
$n}'
>line
#
主程序
for
filename
in
`cat
line`
do
#
!
-f
判断文件名
-d
判断目录/
是否在路径下存在,如果精确匹配需要用到md5sum!
if
[
!
-f
"$A"/"$filename"
];
then
#
提示信息,可删除
echo
$filename
在"$A"不存在,正复制到"$C"目录!
#
cp
-rf
在C目录不存在时直接创建
cp
-rf
"$B"/$filename
"$C"
fi
done
#
清除生成的文件列表文件
rm
-rf
line
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
A=/tmp/A
B=/tmp/B
C=/tmp/C
ls
"$B"|awk
'{print
$n}'
>line
for
filename
in
`cat
line`
do
if
[
!
-f
"$A"/"$filename"
];
then
echo
$filename
在"$A"不存在,正复制到"$C"目录!
cp
-rf
"$B"/$filename
"$C"
fi
done
rm
-rf
line

热心网友 时间:2023-10-19 03:35

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#
定义目录变量,便于引用
A=/tmp/A
B=/tmp/B
C=/tmp/C
#
显示B目录文件,按列显示,便于for循环时按行读取
ls
"$B"|awk
'{print
$n}'
>line
#
主程序
for
filename
in
`cat
line`
do
#
!
-f
判断文件名
-d
判断目录/
是否在路径下存在,如果精确匹配需要用到md5sum!
if
[
!
-f
"$A"/"$filename"
];
then
#
提示信息,可删除
echo
$filename
在"$A"不存在,正复制到"$C"目录!
#
cp
-rf
在C目录不存在时直接创建
cp
-rf
"$B"/$filename
"$C"
fi
done
#
清除生成的文件列表文件
rm
-rf
line
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
A=/tmp/A
B=/tmp/B
C=/tmp/C
ls
"$B"|awk
'{print
$n}'
>line
for
filename
in
`cat
line`
do
if
[
!
-f
"$A"/"$filename"
];
then
echo
$filename
在"$A"不存在,正复制到"$C"目录!
cp
-rf
"$B"/$filename
"$C"
fi
done
rm
-rf
line

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com