Bash 根据文件名中的日期字符串设置mtime

Bash 根据文件名中的日期字符串设置mtime,bash,timestamp,filenames,Bash,Timestamp,Filenames,给定一组具有以下命名约定的文件: datetime_restofname.txt 例如: 200906290700_somewordorphrase.txt 如何批量更改文件的mtime以匹配文件名中的日期和时间 $ for f in *.txt; do touch -t `echo $f | cut -f1 -d _` "$f"; done 这将把文件modtime设置为下划线之前的日期字符串 这将把文件modtime设置为下划线前的日期字符串。Awesome!非常感谢,sunny256!遗

给定一组具有以下命名约定的文件:

datetime_restofname.txt

例如:

200906290700_somewordorphrase.txt

如何批量更改文件的mtime以匹配文件名中的日期和时间

$ for f in *.txt; do touch -t `echo $f | cut -f1 -d _` "$f"; done
这将把文件modtime设置为下划线之前的日期字符串


这将把文件modtime设置为下划线前的日期字符串。

Awesome!非常感谢,sunny256!遗憾的是,我无法评价你的优秀回复(“评价需要15个声誉”),但我非常感谢你花时间来帮助我。顺便说一句,如果Stack Overflow能提供一些简单的方法(通过PayPal等)给你一个小费,感谢你的善意帮助,那就太棒了。如果您有PayPal帐户,请让我知道相关的电子邮件地址-如果可以的话,我想向您发送一些啤酒钱。对不起-忘记了我的电子邮件地址:miles at tinyapps dot Org非常感谢您的报价,很高兴能提供帮助。:)我也非常感谢,我们实际上有自由软件在一起玩,所以通过向自由软件基金会捐赠一小部分,一些组织反对软件专利或沿着这条线的东西将有助于保持免费。但这是一个好主意,因此它在某种程度上实现了赏金功能。我稍微修改了您为处理子目录中的文件而提供的脚本:对于f in
find-name*.txt
;dotouch-t
echo$f | cut-f1-d | tr-d[:alpha:[:punch:][/code>“$f”;doneAwesome!非常感谢,sunny256!遗憾的是,我无法评价你的优秀回复(“评价需要15个声誉”),但我非常感谢你花时间来帮助我。顺便说一句,如果Stack Overflow能提供一些简单的方法(通过PayPal等)给你一个小费,感谢你的善意帮助,那就太棒了。如果您有PayPal帐户,请让我知道相关的电子邮件地址-如果可以的话,我想向您发送一些啤酒钱。对不起-忘记了我的电子邮件地址:miles at tinyapps dot Org非常感谢您的报价,很高兴能提供帮助。:)我也非常感谢,我们实际上有自由软件在一起玩,所以通过向自由软件基金会捐赠一小部分,一些组织反对软件专利或沿着这条线的东西将有助于保持免费。但这是一个好主意,因此它在某种程度上实现了赏金功能。我稍微修改了您为处理子目录中的文件而提供的脚本:对于f in
find-name*.txt
;dotouch-t
echo$f | cut-f1-d | tr-d[:alpha:[:punch:][/code>“$f”;完成