statコマンドが見つかりません

statコマンドが見つかりません

私のUnixシェル/usr/bin/kshでstatコマンドを実行したい:

入力する:

/bin/date +%Y%m%d%H%M%S -d "$(/usr/bin/stat -c %x find.txt)"

そして出力:

/usr/bin/ksh: stat:  not found

私のシステム: SunOS 5.10 Generic_150400-23 sun4v sparc sun4v

ベストアンサー1

このstatコマンドは標準ではありません。 Linuxには1つあり、Embedded Linuxにはより制限的なオプションがあり、FreeBSDとOSXにはまったく異なるオプションがあり、他のほとんどのUnixバリアント(Solaris、AIX、HP-UXなど)にはありません。あなたの構文はLinuxに固有のようですstat

あなたは明らかにstatdate -d

ファイルアクセス時間をリストする唯一の移植可能な方法はls

ls -log -u find.txt

これは面倒な形式であまり正確でない出力を提供します。

設置可能な場合GNUコアツール、そうし、対応し、statコマンドdateを使用します。多くの最新のUnixバリアントには、GNUユーティリティを簡単にインストールする方法があります。

あるいは、UnixシステムによくインストールされるPerlを使用してください。呼ぶstatファイルのタイムスタンプを読み、localtimeタイムスタンプを日付と時刻の部分に分割します。

perl -e '@stat = stat($ARGV[0]); @time = localtime($stat[9]); printf "%04d%02d%02d%02d%02d%02d\n", $time[5]+1900, @time[4,3,2,1,0]'

おすすめ記事