#topicpath
----
#contents
----
* touch -- ファイルのタイムスタンプを変更する -- [#pd916cc7]
ブログ用ファイルを某大家さんマシン(FreeBSD:euc)と自マシン(Debian:utf8)で保存しておくため、漢字コード変換が必須となります。nkfを使ってutf8←→euc変換するのですが、新しいファイルとして生成されるため、どうしてもタイムスタンプがずれてしまう。 (日にちさえ同じであれば、数字間程度のずれは気にしないのですが、何日分かためこんでから変換するものですから、日にちが完全にずれてしまいます) 自マシンでは FD clone を使って attribute 変更しています。 大家さんマシンでは FD clone は未インストールなので、touchコマンドを使いましょう。

 touch -t [[CC]YY]]MMDDhhmm[.SS] file名

utf-8→eucへの変換例

 % ls -l
 total 172
 -rw-r--r--  1 himico  himico  175646 May 10  2004 4232
 % nkf -e 4232 > 4232.euc
 % ls -l
 total 344
 -rw-r--r--  1 himico  himico  175646 May 10  2004 4232
 -rw-r--r--  1 himico  himico  175522 Aug  6 14:48 4232.euc
 % touch -t 200405100000 4232.euc 
 % ls -l
 total 344
 -rw-r--r--  1 himico  himico  175646 May 10  2004 4232
 -rw-r--r--  1 himico  himico  175522 May 10  2004 4232.euc

おまけ:Debian の場合、lsコマンドでファイルの時刻をfull time で表示できます。 
 % ls -l --full-time test.f
 -rw-r--r-- 1 himico himico 2082 1999-12-06 12:15:55.000000000 +0900 test.f
FreeBSD はどうすればよいのか… わかりません。

トップ 一覧 検索 最終更新 バックアップ  ヘルプ  RSSR