特定のパターンを使用してこのファイルの束の名前を変更します。

特定のパターンを使用してこのファイルの束の名前を変更します。

次のような名前の詳細を持つファイルがたくさんあります。

2007-07-22-2300-11S.NAN___024_ABI___HH_E_SAC

どこ:

  • 2007-07-22日付です。
  • 2300-11Sうーん。
  • NAN___024ネットワークが各ファイルに対して同じかどうか(新しい名前には不要)
  • ABI__HH_E 東チャンネルの駅名です。
  • SAC拡張です。

また、すべてのファイルの名前を同じ形式に変更したいと思います。

2007.204.23.00.ABI.e

どこ:

  • 2007今年です。
  • 204ユリウスデー(07-22)です。
  • 23.00時が来た。
  • ABI駅です。
  • eチャンネル名です。

ベストアンサー1

次のように仮定してください。

  • 場所2に「1+序数日付」を使用したい。
  • 駅名は「_」で埋められます。
  • チャンネル名小文字

これで必要な変換が行われます。

$ ls
2007-07-22-2300-11S.NAN___024_ABI___HH_E_SAC
$ for i in *; do
    od="$(expr $(date +%j -d "${i:0:10}") + 1 )";
    chn="${i:39:1}";
    sta="$(echo ${i:30:6} | tr -d '_')";
    mv "$i" "${i:0:4}.$od.${i:11:2}.${i:13:2}.$sta.${chn,,}" ;
  done 
$ ls
2007.204.23.00.ABI.e

おすすめ記事