- ベストアンサー
ファイル名抽出
こんばんは 例えば、以下のファイル名の場合に、日付だけを抽出して、 変数に代入したいのですが、よろしくお願い刺します。 ファイル名 AMT10_NHHHHHHHH_20060420_mmm.mtauamail.20060420+0900.log 変数に、20060420を入れる。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
アンダースコアを区切り文字とした時の3列目が当該のものだとしたら、cutでいけるのでは。こんな感じ: #!/bin/sh fn=AMT10_NHHHHHHHH_20060420_mmm.mtauamail.20060420+0900.log dte=`echo $fn|cut -d _ -f 3` echo $dte
その他の回答 (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
質問者
お礼
参考にさせていただきます。 ありがとうございます。
お礼
早速の回答、ありがとうございます。 抽出できました。 感謝です。