我正在尝试在linux中编写脚本。我在两个不同的文件夹(A和B)中有一些csv文件,然后在一些处理后被拒绝文件的副本移动到坏文件夹。
所以我希望从表A和B中删除已经复制到Bad Folder的坏文件。
你能帮我写一下这个linux脚本吗?
最佳
答案 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选项给出的,所以它会默默地忽略不存在的文件。
此外,它在删除文件之前不会提示。删除大量文件时非常方便。但是,请确保在运行此脚本之前确实要删除文件。