Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* 文字列をデリミタ指定してsplitする [#v75ed8ce]
*** 1. cutを使う(簡単) [#u18f3b1c]
$ echo '2016-02-03' | cut -d '-' -f 2
02
- 簡単で使いやすい。後述の方法のようにBash配列を使わず、...
- しかし、遅い。ループで数百回以上繰り返すような場合、時...
*** 2. trでデリミタをIFSに変換しBash配列に格納する [#w364...
$ nums=($(echo '2016-02-03' | tr '-' ' '))
$ echo ${nums[1]}
02
- cutよりは速い。(多分)
- しかし、後述のパラメーター展開を使った方がより速い。(...
*** 3. パラメータ展開で先頭もしくは末尾を取り出す [#gdd05...
$ dt='2016-02-03'
$ echo ${dt%%-*}
2016
$ echo ${dt##*-}
03
- 先頭もしくは末尾を取り出すのなら、速くていい。
*** 4. パラメータ展開でデリミタをIFSに変換しBash配列に格...
$ dt='2016-02-03'
$ nums=(${dt//-/ })
$ echo ${nums[1]}
02
- 変数名//の後にデリミタを指定し、/の後にワンスペースを置...
** 参考 [#y201409e]
http://stackoverflow.com/questions/918886/how-do-i-split-...
終了行:
* 文字列をデリミタ指定してsplitする [#v75ed8ce]
*** 1. cutを使う(簡単) [#u18f3b1c]
$ echo '2016-02-03' | cut -d '-' -f 2
02
- 簡単で使いやすい。後述の方法のようにBash配列を使わず、...
- しかし、遅い。ループで数百回以上繰り返すような場合、時...
*** 2. trでデリミタをIFSに変換しBash配列に格納する [#w364...
$ nums=($(echo '2016-02-03' | tr '-' ' '))
$ echo ${nums[1]}
02
- cutよりは速い。(多分)
- しかし、後述のパラメーター展開を使った方がより速い。(...
*** 3. パラメータ展開で先頭もしくは末尾を取り出す [#gdd05...
$ dt='2016-02-03'
$ echo ${dt%%-*}
2016
$ echo ${dt##*-}
03
- 先頭もしくは末尾を取り出すのなら、速くていい。
*** 4. パラメータ展開でデリミタをIFSに変換しBash配列に格...
$ dt='2016-02-03'
$ nums=(${dt//-/ })
$ echo ${nums[1]}
02
- 変数名//の後にデリミタを指定し、/の後にワンスペースを置...
** 参考 [#y201409e]
http://stackoverflow.com/questions/918886/how-do-i-split-...
ページ名: