私はbashスクリプトを作業しています。
文字列を含むvarがあります。以下は文字列です。
tSA_15_20161014_11-12-50
デフォルトでは、フォーマットはtSA_(id)_(year)(month)(day)_(hour)-(min)-(seg)
重要な情報:
- IDは0から999までの数字です。
- 年の形式は次のとおりです。イヤ
- 月形式mm
- 日本語形式DD
- 時間形式24時間
私が得たい文字列は次のとおりです。
20161014111250
これはyyyymmddHHMMSS
英語は私の母国語ではないので理解できない部分があれば教えてください。ありがとうございます。
ベストアンサー1
パラメータを使用した拡張bash
:
$ var='tSA_15_20161014_11-12-50'
$ var="${var#*_}" ## Extracts the portion after first `_` i.e.
new `var` will be `15_20161014_11-12-50`
$ var="${var#*_}" ## again gets the portion after first `_`, so in this case
after operation `var` will contain `20161014_11-12-50`
$ echo "${var//[-_]/}" ## Replaces all `-` and `_` from `$var` with null
20161014111250