Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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
Bash 基于另一个文件从文件夹中删除文件_Bash_Sed_Awk - Fatal编程技术网

Bash 基于另一个文件从文件夹中删除文件

Bash 基于另一个文件从文件夹中删除文件,bash,sed,awk,Bash,Sed,Awk,我有一个名为input.txt的文本文件,如下所示 adva abab dfg1 672a 我有一个名为folder1的文件夹,其中包含adva.txt、dfg1.txt、asd2.txt等文件的列表。在folder1中,我只需要保留input.txt中存在的文件名。其他文件应从文件夹中删除1 谢谢你的建议 因为它需要大量删除文件,我强烈推荐安全方法。考虑这个脚本: #!/bin/bash # rename folder1 mv folder1 _folder1 # create a ne

我有一个名为input.txt的文本文件,如下所示

adva
abab
dfg1
672a
我有一个名为folder1的文件夹,其中包含adva.txt、dfg1.txt、asd2.txt等文件的列表。在folder1中,我只需要保留input.txt中存在的文件名。其他文件应从文件夹中删除1


谢谢你的建议

因为它需要大量删除文件,我强烈推荐安全方法。考虑这个脚本:

#!/bin/bash

# rename folder1
mv folder1 _folder1

# create a new dir folder1
mkdir folder1

# copy required files from _folder1 to folder1
while read l; do
    cp _folder1/$l.txt folder1
done < input.txt 
rm -rf _folder1