
私のファイル名は
ABC_-_123321.20140505_-_161500.CSV
ABC_-_654145.20140506_-_135020.CSV
String_-_SerialID.
Date
_-_
Time
.CSV
開始日、開始時刻、終了日そして 時間の最大入力として与えられました。
どうやって手に入れることができますか?ファイル名(または相対パス)日付そして時間与えられた間日付そして時間範囲を指定し、シェルスクリプトを使用してログファイルに記録しますか?
日付そして時間最後にアクセスまたは変更した日付/時刻スタンプではなく、ファイル名にスペースがありません。
私は選ぶことができる日付そして時間たとえば、フィールド間に区切り文字を付けずに個別に入力したり、
20140706
165030
入力を次のように処理したりできます。
20140706165030
答え1
タスクを実行するアルゴリズム:
各ファイルの日付を取得し、差を与えられた日付と同じにします。日付の違いについては、下記のリンクをご覧ください。
Solaris(GNU日付を持たないUnix)の場合は、次のようにします。 協会
時間を賢く使用するには、日付ループ内で時間ループを使用します。視差を取得するには、次のコードを使用できます
time1=14:30
time2=$( date +%H:%M ) # 16:00
diff=$( echo "$time2 - $time1" | sed 's%:%+(1/60)*%g' | bc -l )
echo $diff hours
# outputs 1.5 hours
ここでsed
aを:
1/60に変換する公式に置き換えてください。その後bc
(クリック協会より多くの情報を知りたい場合)。
注:DIFFERENCEが+ veの場合は、ログ/コンテンツを指定されたファイルに入れることができます。