linux shell 批量处理相同后缀文件

假如把tmp文件夹下面的所有后缀为txt的文件移动到,message文件夹中

楼上的答案太复杂了吧,直接使用mv tmp/*.txt message不可以吗?

如果是要移动tmp文件夹(包括子文件夹)中的所有以.txt为后缀的文件,可以使用find命令:
find tmp/ -name "*.txt" -type f -exec mv {} message \;

mv *.txt message/

mv tmp/*.txt message

src_folder = 'tmp'
dst_folder = 'message'

for entry in os.walk(src_folder):
    for file_name in entry[-1]:
        if file_name.endswith('.txt'):
            command = 'cp ' + entry[0] + os.sep + file_name + ' --verbose  ' + dst_folder
            os.system(command)

如果有重复文件名,比如/tmp/01/a.txt 和/tmp/02/a.txt都存在的话,也可以用os.mkdir新建子文件夹