0

我想尝试使用以下文件名重命名文件:

我在一个包含以下列的文件中有一个很长的列表。这是一个输入文件,第一列中包含 MD5sum,第二列中包含新名称:

1c59eb1e8d29fecc54d3a0623e6f4c8d Worm:Win32/Allaple.A
1c569fda69ad93670bf611ff2d16baa6 W32.Rahack.W
1c6481ebf5c2e86555b88862c0df597b Worm:Win32/Allaple.A
1c0aa69cbe2b2ed08dc6e73fb2bf1d34 Virus:Win32/Virut.AC
1c6fdcabb61b5b1d6e53280ae934eaa6 Worm:Win32/Allaple.A
1c781a8051fcfac49b62cdfba1d7510f Worm:Win32/Allaple.A

让我们说;

从带有 MD5SUM 的原始文件名,我想从

Worm.Allaple.A_1c781a8051fcfac49b62cdfba1d7510f.exe.csv

Worm:Win32/Allaple.A_1c781a8051fcfac49b62cdfba1d7510f.exe.csv

如何在 Python 上执行此操作(我也尝试使用 bash.. 但我的技能有限,所以尝试寻找另一个选项)

4

2 回答 2

1

在一些帮助下用 bash 解决了

sed -n 's/.*_\(.*\)\.exe\.csv/\1 \0/p' old-name.txt  | sort > n1.txt

sort input-name-file.csv > temp.txt

join -j1 temp.txt n1.txt > j1.txt

tr '/' ':' < j1.txt | awk '{printf "mv %s %s_%s.exe.csv\n",$3,$2,$1}'
于 2013-04-04T08:03:46.587 回答
-1

您可以使用 shutil 用 python 重命名文件

import shutil

# make sure you are passing the correct directory
shutil.move(old_file_name, new_file_name)
于 2013-04-03T12:37:46.550 回答