【问题标题】:Delete files from a folder based on another file根据另一个文件从文件夹中删除文件
【发布时间】:2013-11-13 05:54:36
【问题描述】:

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

adva
abab
dfg1
672a

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

您的建议将不胜感激!!

【问题讨论】:

    标签: bash sed awk


    【解决方案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 
    

    运行此脚本后,验证文件夹 1 中的所有文件,如果满意,则仅删除文件夹和 _folder1 中的所有文件,使用:

    rm -rf _folder1
    

    【讨论】:

      猜你喜欢
      • 2014-02-15
      • 1970-01-01
      • 2018-04-11
      • 2013-06-28
      • 2016-12-30
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多