やりたかったこと:
月別にまとめられたデータファイルの名前をMATLABで解析しやすいようにBASHスクリプトで変更する。手動で「名前の変更」をしていたら数にきりがないので。
やったこと:
残念ながらコード一つで、とはいかなかったが比較的簡単なコードを使って名前の変換することに成功。
以下手順&結果(「$」は自分が打ったコマンド):
$ ls
LABSEA_1d_00010101_00010131_diad_T.nc
LABSEA_1d_00010701_00010731_diad_T.nc
LABSEA_1d_00010101_00010131_ptrc_T.nc
LABSEA_1d_00010701_00010731_ptrc_T.nc
LABSEA_1d_00010201_00010228_diad_T.nc
LABSEA_1d_00010801_00010831_diad_T.nc
LABSEA_1d_00010201_00010228_ptrc_T.nc
LABSEA_1d_00010801_00010831_ptrc_T.nc
LABSEA_1d_00010301_00010331_diad_T.nc
LABSEA_1d_00010901_00010930_diad_T.nc
LABSEA_1d_00010301_00010331_ptrc_T.nc
LABSEA_1d_00010901_00010930_ptrc_T.nc
LABSEA_1d_00010401_00010430_diad_T.nc
LABSEA_1d_00011001_00011031_diad_T.nc
LABSEA_1d_00010401_00010430_ptrc_T.nc
LABSEA_1d_00011001_00011031_ptrc_T.nc
LABSEA_1d_00010501_00010531_diad_T.nc
LABSEA_1d_00011101_00011130_diad_T.nc
LABSEA_1d_00010501_00010531_ptrc_T.nc
LABSEA_1d_00011101_00011130_ptrc_T.nc
LABSEA_1d_00010601_00010630_diad_T.nc
LABSEA_1d_00011201_00011231_diad_T.nc
LABSEA_1d_00010601_00010630_ptrc_T.nc
LABSEA_1d_00011201_00011231_ptrc_T.nc
$ for it in *.nc; do mv ${it} `echo ${it} | sed 's/*_1d_*_0001/daily/'`;done
$ ls
LABSEA_1d_00010101_00010131_diad_T.nc
LABSEA_1d_00010701_00010731_diad_T.nc
LABSEA_1d_00010101_00010131_ptrc_T.nc
LABSEA_1d_00010701_00010731_ptrc_T.nc
LABSEA_1d_00010201_00010228_diad_T.nc
LABSEA_1d_00010801_00010831_diad_T.nc
LABSEA_1d_00010201_00010228_ptrc_T.nc
LABSEA_1d_00010801_00010831_ptrc_T.nc
LABSEA_1d_00010301_00010331_diad_T.nc
LABSEA_1d_00010901_00010930_diad_T.nc
LABSEA_1d_00010301_00010331_ptrc_T.nc
LABSEA_1d_00010901_00010930_ptrc_T.nc
LABSEA_1d_00010401_00010430_diad_T.nc
LABSEA_1d_00011001_00011031_diad_T.nc
LABSEA_1d_00010401_00010430_ptrc_T.nc
LABSEA_1d_00011001_00011031_ptrc_T.nc
LABSEA_1d_00010501_00010531_diad_T.nc
LABSEA_1d_00011101_00011130_diad_T.nc
LABSEA_1d_00010501_00010531_ptrc_T.nc
LABSEA_1d_00011101_00011130_ptrc_T.nc
LABSEA_1d_00010601_00010630_diad_T.nc
LABSEA_1d_00011201_00011231_diad_T.nc
LABSEA_1d_00010601_00010630_ptrc_T.nc
LABSEA_1d_00011201_00011231_ptrc_T.nc
$ for it in *.nc; do mv ${it} `echo ${it} | sed 's/LABSEA_1d_0001...._0001/daily/'`;done
$ ls
daily0131_diad_T.nc
daily0531_diad_T.nc
daily0930_diad_T.nc
daily0131_ptrc_T.nc
daily0531_ptrc_T.nc
daily0930_ptrc_T.nc
daily0228_diad_T.nc
daily0630_diad_T.nc
daily1031_diad_T.nc
daily0228_ptrc_T.nc
daily0630_ptrc_T.nc
daily1031_ptrc_T.nc
daily0331_diad_T.nc
daily0731_diad_T.nc
daily1130_diad_T.nc
daily0331_ptrc_T.nc
daily0731_ptrc_T.nc
daily1130_ptrc_T.nc
daily0430_diad_T.nc
daily0831_diad_T.nc
daily1231_diad_T.nc
daily0430_ptrc_T.nc
daily0831_ptrc_T.nc
daily1231_ptrc_T.nc
haqq:8 hakase$ ls
daily0131_diad_T.nc
daily0531_diad_T.nc
daily0930_diad_T.nc
daily0131_ptrc_T.nc
daily0531_ptrc_T.nc
daily0930_ptrc_T.nc
daily0228_diad_T.nc
daily0630_diad_T.nc
daily1031_diad_T.nc
daily0228_ptrc_T.nc
daily0630_ptrc_T.nc
daily1031_ptrc_T.nc
daily0331_diad_T.nc
daily0731_diad_T.nc
daily1130_diad_T.nc
daily0331_ptrc_T.nc
daily0731_ptrc_T.nc
daily1130_ptrc_T.nc
daily0430_diad_T.nc
daily0831_diad_T.nc
daily1231_diad_T.nc
daily0430_ptrc_T.nc
daily0831_ptrc_T.nc
daily1231_ptrc_T.nc
$ for it in daily*; do mv ${it} `echo ${it} | sed 's/[0-9][0-9]//2'`;done
$ ls
daily01_diad_T.nc
daily05_diad_T.nc
daily09_diad_T.nc
daily01_ptrc_T.nc
daily05_ptrc_T.nc
daily09_ptrc_T.nc
daily02_diad_T.nc
daily06_diad_T.nc
daily10_diad_T.nc
daily02_ptrc_T.nc
daily06_ptrc_T.nc
daily10_ptrc_T.nc
daily03_diad_T.nc
daily07_diad_T.nc
daily11_diad_T.nc
daily03_ptrc_T.nc
daily07_ptrc_T.nc
daily11_ptrc_T.nc
daily04_diad_T.nc
daily08_diad_T.nc
daily12_diad_T.nc
daily04_ptrc_T.nc
daily08_ptrc_T.nc
daily12_ptrc_T.nc
$ for it in daily*; do mv ${it} `echo ${it} | sed 's/y0/y/'`;done
$ ls
daily10_diad_T.nc
daily2_diad_T.nc
daily6_diad_T.nc
daily10_ptrc_T.nc
daily2_ptrc_T.nc
daily6_ptrc_T.nc
daily11_diad_T.nc
daily3_diad_T.nc
daily7_diad_T.nc
daily11_ptrc_T.nc
daily3_ptrc_T.nc
daily7_ptrc_T.nc
daily12_diad_T.nc
daily4_diad_T.nc
daily8_diad_T.nc
daily12_ptrc_T.nc
daily4_ptrc_T.nc
daily8_ptrc_T.nc
daily1_diad_T.nc
daily5_diad_T.nc
daily9_diad_T.nc
daily1_ptrc_T.nc
daily5_ptrc_T.nc
daily9_ptrc_T.nc
参考にしたサイト