-1

pdksh の使用

stat()コマンドはシステムで使用できません。

見つかったファイルの量をループして、それらの日付を配列に保存する必要があります$COMMAND以下に示すように、で見つかったファイルの数を格納し$locationます。

誰か助けてくれませんか?

COMMAND=`find $location -type f | wc -l`
CMD_getDate=$(find $location -type f | xargs ls -lrt | awk '{print $6} {print $7}')
4

1 に答える 1

0

まず、 を実行する必要はありませんwc。配列のサイズは、いくつあるかを示します。日付と名前の配列を作成する簡単な方法を次に示します (pdksh 用に設計されています。AT&T ksh または bash でこれを行うより良い方法があります)。

set -A files 
set -A dates
find "$location" -type f -ls |&
while read -p inum blocks symode links owner group size rest; do 
  set -A files "${files[@]}" "${rest##* }"
  set -A dates "${dates[@]}" "${rest% *}"
done

結果を調べる方法の 1 つを次に示します。

print "Found ${#files[@]} files:"
let i=0
while (( i < ${#files[@]} )); do
  print "The file '${files[i]}' was modified on ${dates[i]}."
  let i+=1
done

これにより、月と日だけでなく、完全な日付文字列が得られます。ls -lそれはあなたが望むかもしれません - (または)の日付出力はfind -ls、ファイルが変更された時間によって異なります。aこれらのファイルが与えられた場合、元の形式はとの変更時刻をどのように区別しますbか?

$ ls -l
total 0
-rw-rw-r--+ 1 mjreed  staff  0 Feb  3  2014 a
-rw-rw-r--+ 1 mjreed  staff  0 Feb  3 04:05 b

書かれているように、上記のコードは、上記のディレクトリに対してlocation=でこれを生成します.:

Found 2 files:
The file './a' was modified on Feb  3  2014.
The file './b' was modified on Feb  3 00:00.

実際の最終目標が何であるかを示していただけると助かります。

于 2015-06-02T13:33:43.520 に答える