Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果文件存在于Linux中的不同文件夹中,请编写一个脚本来删除该文件_Linux_Bash_Ubuntu - Fatal编程技术网

如果文件存在于Linux中的不同文件夹中,请编写一个脚本来删除该文件

如果文件存在于Linux中的不同文件夹中,请编写一个脚本来删除该文件,linux,bash,ubuntu,Linux,Bash,Ubuntu,我正在尝试用linux编写一个脚本。我在两个不同的文件夹(A和B)中有一些csv文件,然后经过一些处理后,被拒绝文件的副本将移动到坏文件夹 所以我想从表A和表B中删除已复制到坏文件夹的坏文件 你能帮我为linux写这个脚本吗 最佳#/bin/bash #设置要删除文件的工作文件夹 工作文件夹=// cd$工作文件夹 #用于删除文件夹中存在的所有文件的命令 rm 回显“文件已删除” #如果要删除所有文件,可以使用通配符 #例如,指挥室** #如果要删除特定文件,例如删除.csv文件,可以使用命令r

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

所以我想从表A和表B中删除已复制到坏文件夹的坏文件

你能帮我为linux写这个脚本吗

最佳

#/bin/bash
#设置要删除文件的工作文件夹
工作文件夹=//
cd$工作文件夹
#用于删除文件夹中存在的所有文件的命令
rm
回显“文件已删除”
#如果要删除所有文件,可以使用通配符
#例如,指挥室**
#如果要删除特定文件,例如删除.csv文件,可以使用命令rm*.csv命令

设置包含A、B和坏目录路径的变量

然后你就可以按照

for file in ls ${PATH_TO_BAD}
do
rm ${PATH_TO_A}/$file
rm ${PATH_TO_B}/$file
done

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

假设坏文件夹的名称为“badFolder”,并考虑到“A”、“B”和“badFolder”在同一目录中

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

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

cd文件夹

步骤2:删除相同的文件

查找-类型f-exec rm-f../A/{}\

查找-类型f-exec rm-f../B/{}\

参数-type f指示查找文件,而不是目录

-exec…\参数告诉我们,一旦在“badFolder”中找到一个文件,它应该在a子目录中的对应文件上运行命令rm-f

因为rm带有-f选项,所以它会自动忽略不存在的文件


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

请改用
cd“${Working\u folder}”
如果这样做,可能会出现一系列故障。这个答案的旁白并没有真正解决问题的目的。你已经试过什么了?请展示它,这样我们就可以真正帮助你,而不是为你写剧本。因此,编写代码不是一个免费的资源。
for file in ls ${PATH_TO_BAD}
do
rm ${PATH_TO_A}/$file
rm ${PATH_TO_B}/$file
done