如果文件存在于Linux中的不同文件夹中,则可以删除文件

时间:2015-09-18 11:53:44

标签: linux bash ubuntu

我正在尝试在linux中编写脚本。我在两个不同的文件夹(A和B)中有一些csv文件,然后在一些处理后被拒绝文件的副本移动到坏文件夹。

所以我希望从表A和B中删除已经复制到Bad Folder的坏文件。

你能帮我写一下这个linux脚本吗?

最佳

3 个答案:

答案 0 :(得分:0)

#!/bin/bash
#Set the working folder in which you want to delete the file
Working_folder=/<Folder>/<path>
cd $Working_folder
#command to delete all files present in folders
rm <filenames seperated by space>
echo "files are deleted"
#if you want to delete all files you can use wild card character 
# e.g. command rm *.* 

# if you want to delete a particular file say for deleting .csv file you can use command rm *.csv command

答案 1 :(得分:0)

设置包含A,B和BAD目录路径的变量。

然后你可以按照

的方式做点什么
for file in ls ${PATH_TO_BAD}
do
rm ${PATH_TO_A}/$file
rm ${PATH_TO_B}/$file
done

这是迭代BAD目录及其找到的任何文件,它从A和B目录中删除。

答案 2 :(得分:0)

假设坏文件夹的名称是'badFolder'并且考虑'A','B'和'badFolder'在同一目录中

从文件夹A和B中删除文件的步骤:

第1步:将当前目录更改为“badFolder”

cd badFolder

第2步:删除相同的文件

找到。 -type f -exec rm -f ../ A / {} \;

找到。 -type f -exec rm -f ../ B / {} \;

参数 -type f 告诉我查找文件,而不是目录。

-exec ... \; 参数告诉我们,一旦在'badFolder'中找到文件,它就应该在A子目录中的对应项上运行命令rm -f。

因为rm是使用-f选项给出的,所以它会默默地忽略不存在的文件。

此外,它在删除文件之前不会提示。删除大量文件时非常方便。但是,请确保在运行此脚本之前确实要删除文件。