シェルスクリプトを使用してログファイルにファイル名を蓄積する

シェルスクリプトを使用してログファイルにファイル名を蓄積する

私のファイル名は

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

ここでsedaを:1/60に変換する公式に置き換えてください。その後bc(クリック協会より多くの情報を知りたい場合)。

注:DIFFERENCEが+ veの場合は、ログ/コンテンツを指定されたファイルに入れることができます。

おすすめ記事