指定した日に更新されたファイルを探す

いつもの通り、OSはSolaris 9 です。

Linuxではlsコマンドに「–full-time」というオプションがあるが、Solaris標準のlsにはない。

また、findの「-mtime」オプションで探そうにも、2008年1月1日が何日前なのか知らないと使えない。

そして、Solarisにはstatコマンドが無い。

なので、perlでスクリプトを書いて見ました。

<stat.pl>

#!/usr/bin/perl
$date = "$ARGV[0]";
$file = "$ARGV[1]";
@stat = stat $file;
($sec,$min,$hour,$mday,$mon,$year) = localtime($stat[9]);
$mon++;
$year+=1900;
if($date == sprintf("%4d%02d%02d"), $year, $mon, $mday)){
    printf("%s\n", $file);
}

見苦しいところはご愛嬌。これを使うには、こんな感じかな。

$ find /tmp -type f -exec stat.pl 20080101 {} \;

こうすると、2008年1月1日に更新されたファイルの一覧が出せる。

The following two tabs change content below.
しゃちょー

しゃちょー

有限会社こだまシステム社長。18歳の時からIT業界で働く。趣味はモータースポーツ。マイブームはダイエット。

関連記事

ウイルスにご注意ください

年末から年始にかけて、コンピュータウイルスGumblar(ガンブラー)の被害が急速に拡大しています。
このウイルスの感染力はかなり強いと感じています。

WiMAX?LTE??4G??貴方は分かる?モバイル回線の違いについて語ってみた。

WiMAXやLTE?言葉は聞いたことあるけれど、実際何が違うのか…しゃちょーが語ります!

lessで日本語を表示すると文字化けする

Solaris 9 環境でLANG=ja_JP.PCKにして使用しています。テキストファイルをviなどで編集(作成)すると、SJISで保存されます。lessで表示すると文字化けしてしまう、という問題です。

クライアントプロセスが使うポート

サーバプロセスはポートを指定してListenしますが、クライアントプロセスはOSから動的に割り当てられます。
Windows的には一時ポートとか動的ポートといいますが、ネットワーク屋さん的にはエフェメラルポートといいます。

メモリ不足の指針

OSのメモリが足りるかどうか判断するのに、空きメモリ(freemem)を確認するのは非常に有効な手段だ。
しかし、他にも「OSがメモリを探している」動作を確認するすべはある。