• ベストアンサー

ファイル名抽出

こんばんは 例えば、以下のファイル名の場合に、日付だけを抽出して、 変数に代入したいのですが、よろしくお願い刺します。 ファイル名 AMT10_NHHHHHHHH_20060420_mmm.mtauamail.20060420+0900.log 変数に、20060420を入れる。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

アンダースコアを区切り文字とした時の3列目が当該のものだとしたら、cutでいけるのでは。こんな感じ: #!/bin/sh fn=AMT10_NHHHHHHHH_20060420_mmm.mtauamail.20060420+0900.log dte=`echo $fn|cut -d _ -f 3` echo $dte

yano-kouichi
質問者

お礼

早速の回答、ありがとうございます。 抽出できました。 感謝です。

その他の回答 (1)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

ぜひPerlで正規表現をマスターしましょう。そうすればどんな文字列でも置換OK。 # cat test.pl #!/usr/bin/perl $fn = "AMT10_NHHHHHHHH_20060420_mmm.mtauamail.20060420+0900.log"; $fn =~ s/.*_([0-9]{8})_.*/$1/ ; print $fn; # ./test.pl 20060420

yano-kouichi
質問者

お礼

参考にさせていただきます。 ありがとうございます。

関連するQ&A