uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト
動画説明

dayslash

<概要>

dayslash : 日付時刻フォーマット変換フィルタ

<書式>

Usage   : dayslash [--input <format>] [--output <format>] <f1> <f2>... <file>
Option  : --through <string>
          -d <string>
Version : Thu Jan 15 22:27:46 JST 2015

<出力フォーマット指定(正変換)>

--output <format> で指定した形式に指定フィールド<f>の値を変換します。
<format> には、(カッコ内は例)
yyyy : 年 (2013)
mm   : 月 (09)  <-- 2桁前0埋め
m    : 月 (9)
mmm  : 月 (Sep) <-- 英表記
dd   : 日 (04)  <-- 2桁前0埋め
d    : 日 (4)
HH   : 時 (08)  <-- 2桁前0埋め
H    : 時 (8)
MM   : 分 (09)  <-- 2桁前0埋め
M    : 分 (9)
SS   : 秒 (05)  <-- 2桁前0埋め
S    : 秒 (5)
sss  : ミリ秒(012) <-- 3桁前0埋め
s    : ミリ秒(12)
を指定できます。

例) 'HH:MM_dd/mm/yyyy'  ->  15:14_03/12/2014
例) 'd日(m月)yyyy年'    ->  4日(9月)1966年
例) 'mmmdd/yyyy'        ->  Sep04/2013

指定フィールドの形式は --input <format> で指定します。--input を指定
しない場合は --output <format> で指定した形式の 年月日時分秒ミリ秒
の順の固定桁の数字であると想定します。

例) 'HH:MM_dd/mm/yyyy' の元データは 201412031514
例) 'd日(m月)yyyy年'   の元データは 19660904

上記に当てはまらない場合、指定フィールドデータは桁数だけみて

6桁は HHMMSS
8桁は yyyymmdd
14桁は yyyymmddHHMMSS
17桁は yyyymmddHHMMSSsss

と自動的に解釈します。

-d を指定したときはダイレクトモードとなり、直接引数 <string> を正変
換します。

<例>

$ echo 20120304 | dayslash --output yyyy/mm/dd 1
2012/03/04

$ echo 20120304 20130118 | dayslash --output yyyy/mm/dd 1 2
2012/03/04 2013/01/18

$ dayslash -d --output yyyy/mm/dd 20120304
2012/03/04

$ echo 050607 | dayslash --output H時M分S秒 1
5時6分7秒

$ echo 20111201235958 | dayslash --output m/d 1
12/1

$ echo - | dayslash --through - --output yyyy/mm/dd 1
-

$ echo 20111201235958002 | dayslash --output yyyy/mm/dd_HH:MM:SS.sss 1
2011/12/01_23:59:58.002

$ echo 20111201235958002 | dayslash --output yyyy/mm/dd_HH:MM:SS.s 1
2011/12/01_23:59:58.2


<備考>

年月日時分秒ミリ秒の正当性は判断しません。(桁数のみしか見ていません)

<入力フォーマット指定(逆変換)>

指定フィールド<f>が --input <format>に従って年月日時分秒ミリ秒を取り
出し、年(4)月(2)日(2)時(2)分(2)秒(2)ミリ秒(3)の順で固定桁の一つの値
に変換します。--output 指定があるときは指定に従います。

<format> に文字 "." を指定したときは1文字の任意の文字を表します。

<例>

$ echo 2012/03/04 | dayslash --input yyyy/mm/dd 1
20120304

$ echo 5時6分7秒 | dayslash --input H時M分S秒 1
050607

$ echo 2011年12月1日_23:59:10 | dayslash --input yyyy年m月d日_HH:MM:SS 1
20111201235910

$ echo 2011/12/1_23:59:10.0 | dayslash --input yyyy/m/d_HH:MM:SS.s 1
20111201235910000

$ echo '13/4(Thu)/2012' | dayslash --input 'd/m(...)/yyyy' 1
20120413

$ echo Apr13/2013 | dayslash --input 'mmmdd/yyyy' 1
20130413

<備考>

年月日時分秒ミリ秒の正当性は判断しません。(指定桁数のみ取り出します)
またフォーマットと異なる入力文字列はエラーとなります。

<--through オプション指定時>
--through オプションで指定した<string>の文字列についてはエラーとせず
そのまま出力します。

<例>

$ echo - | dayslash --through - --input yyyy/mm/dd_HH:MM:SS 1
-

<備考>

旧形式もサポートします。
dayslash yyyy/mm/dd 1    (正変換:--output yyyy/mm/dd と同じ)
dayslash -r yyyy/mm/dd 1 (逆変換:--input  yyyy/mm/dd と同じ)

# 20160701 括弧書きのものを見やすく整形、旧形式を備考へ等 青木