![修正時間を更新せずにファイルを変更する方法は? [コピー]](https://linux33.com/image/6655/%E4%BF%AE%E6%AD%A3%E6%99%82%E9%96%93%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%9B%E3%81%9A%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
時にはテキストファイルを少し修正したいのですが(たとえば、スペルエラーの修正)、修正時間は変更せずにそのままにしたいと思います。 (同期:modtimeは、ディレクトリを時系列でリストし、ファイルの内容が最後に表示された時期を知らせるのに役立ちます。本質的に更新などの簡単な編集でこの情報を削除したくありません。 )
確かに可能です。 Unixを使用すると、modtimeを私が好きなように手動で設定できます(ctimeを現在の状態に設定するので、私には問題ありません)。たとえば、touch -t <time>
またはutimes(2)
システムコールを使用します。この質問はファイルを編集した後に編集時間を設定する簡単な方法正確に編集する前のこと。私は主にエディタに依存しないソリューションに興味があります。つまり、emacsにcommandがある場合、save-file-no-update-mtime
それは興味深いでしょうが、私が探しているものではありません。
答え1
これは以下に基づいた非常に簡単な解決策です。この回答@don_crisstiが見つけた関連質問です。しかし、追加ファイルを使用しないものを取得したいと思います。誰でも良いことができますか?
touch -r some-file.txt .timestamp
emacs some-file.txt # Or whatever
touch -r .timestamp some-file.txt
rm .timestamp