ハイビジョン録画ファイルの命名規則を途中で変えてしまった。
ーーー
① ファイル名の年月日と時刻の間にアンダーバーがある。
$ ls | grep -e '^NHK_........_.*' | tail -n 3
NHK_20170304_070001.ts.mp4
ーーーー
② ファイル名の年月日と時刻の間にアンダーバーがない。
$ ls | grep -e '^NHK_........[0-9].*' | tail -n 3
NHK_20170113070002.ts.mp4
ーーー
①で統一したい。まずは for文でキャプチャしてみる。
$ for i in `ls | grep -e '^NHK_........[0-9].*' | tail -n 3`; do echo "$i"; done
できた。あとはアンダーバーを入れる処理を echo の次に入れる。これが難しい。
NHK_20170113070002.ts.mp4
↓ アンダーバー挿入
NHK_20170113_070002.ts.mp4
ーーー
処理としては
NHK_20170113
までをまずは切り出して(手順①)、そのあとにアンダーバーを足して
NHK_20170113_
にしてから、残りの
070002.ts.mp4
を切り出して(手順②)連結し、最終的に
NHK_20170113_070002.ts.mp4
になるようにする。
ーーー
手順①について。
bashで文字の切り出し(substr)が必要になる。awkでできそう。
スクリプトにする。
$ vim add_underBAR.sh
実行してみる。
$ ./add_underBAR.sh
手順① の切り出しはできた。同じ要領で手順②の切り出しもできる。
ーーー
アンダーバー挿入までのソース
$ vim add_underBAR.sh
実行してみる。
$ ./add_underBAR.sh
うまくいった。最後はファイル名変更(mv)すればよい。
ーーー
最終ソース
$ vim add_underBAR.sh
実行してみる。
$ ./add_underBAR.sh
完成。