gpt4 book ai didi

linux - 将文件转换为 UTF-8 并保留修改时间戳

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:12 24 4
gpt4 key购买 nike

在 Linux 中将文件(在本例中为 ISO-8859-1)转换为 UTF-8 非常容易。一直在使用:

  • 查找 . -name "*.txt"-exec iconv -f ISO-8859-1 -t UTF-8 {} -o {}.utf8\;
  • vim "+set nomore""+bufdo set fileencoding=utf8 | w""+q"$(find . -type f)

问题是修改时间戳自然会更改为转换时间。有没有干净甚至肮脏的方法来保留原始修改时间?

编辑:似乎没有简单的标志或选项。修改元数据完全是更改,针对文件并影响文件修改标记...尽管字符集转换在我看来有点处于灰色地带。无论如何,按照 jjacobi 下面指示的脚本方式进行。

最佳答案

一种简单的方法是:

<小时/>

将旧的修改时间戳存储在变量中

last_modif_ts=$(stat [FILENAME] --printf=%Y)

对文件进行所需的修改。

使用touch命令修改上次修改时间戳

touch -m -t $last_modif_ts [FILENAME]
<小时/>

如果您想修改上次访问或创建时间,请参阅 touch 命令的 man。

关于linux - 将文件转换为 UTF-8 并保留修改时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52808199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com