3

以下に示すように、input.txt という名前のテキスト ファイルがあります。

adva
abab
dfg1
672a

adva.txt、dfg1.txt、asd2.txt などのファイルのリストを含む folder1 という名前のフォルダーがあります。folder1 では、input.txt に存在するファイル名のみを保持する必要があります。他のファイルはフォルダーから削除する必要があります1。

あなたの提案をいただければ幸いです!!

4

1 に答える 1

3

ファイルの一括削除が必要なため、安全なアプローチを強くお勧めします。次のスクリプトを検討してください。

#!/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 

このスクリプトが実行された後、folder1 内のすべてのファイルを確認し、問題がなければ、次を使用してフォルダーとすべてのファイルのみを削除します_folder1

rm -rf _folder1
于 2013-11-13T06:54:16.497 に答える