为了账号安全,请及时绑定邮箱和手机立即绑定

根据文件名列表创建文本文件

根据文件名列表创建文本文件

慕的地8271018 2023-03-08 16:23:38
我在 filenames.txt 中有一个文件名列表,其中包含两个或多个文件,日期如下:foo_19990101_bar001.zipfoo_19990101_bar002.zipfoo_20000303_bar001.zipfoo_20000303_bar002.zipfoo_20000303_bar003.zipfoo_20021111_bar001.zipfoo_20021111_bar002.zip...我想创建单独的文本文件,其中包含单个日期的文件名,例如 19990101.txt 将包含:foo_19990101_bar001.zipfoo_19990101_bar002.zip谢谢您的帮助!
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你可以试试这个:


#!/bin/bash

while read -r line; do

    date="${line:4:8}"

    echo "$line" >> "${date}.txt"

done < filenames.txt


查看完整回答
反对 回复 2023-03-08
?
ibeautiful

TA贡献1993条经验 获得超6个赞

这将创建名称作为时间戳的新文件。


from collections import defaultdict


with open("filenames.txt") as fp:

    file_names = fp.read().split()

    

files_dict = defaultdict(list)


for name in file_names:

    timestamp = name.split("_", 2)[1]

    files_dict[timestamp].append(name)


for key, value in files_dict.items():

    with open(key, "w") as fp:

        fp.write("\n".join(value))


查看完整回答
反对 回复 2023-03-08
  • 2 回答
  • 0 关注
  • 226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号