0

一部のサーバーで、同じ内容で同じ名前のファイルが多数あります。分析のためにこれらのファイルを隔離する必要があるため、重複を削除することはできません。OSはLinux(centosとubuntu)です。

ファイル名と場所を列挙し、テキスト ファイルに入れます。

次に、for ステートメントを実行して、ファイルを検疫に移動します。

for file in $(cat bad-stuff.txt); do mv $file /quarantine ;done

問題は、それらが同じファイル名を持っていることです。適切に保存するには、ファイル名に一意のものを追加するだけです。単純なことだと思いますが、正規表現が苦手です。助けてくれてありがとう。

4

3 に答える 3

4

Linux を使用しているため、GNU mv を利用できます--backup

while read -r file
do 
    mv --backup=numbered "$file" "/quarantine"
done < "bad-stuff.txt"

これがどのように機能するかを示す例を次に示します。

$ cat bad-stuff.txt 
./c/foo
./d/foo
./a/foo
./b/foo
$ while read -r file; do mv --backup=numbered "$file" "./quarantine"; done < "bad-stuff.txt"
$ ls quarantine/
foo  foo.~1~  foo.~2~  foo.~3~
$
于 2013-06-04T16:38:46.943 に答える