• 締切済み

初歩的な質問で恐縮です。

プロの方にお願いです。 あらかじめファイルにテキストでファイル名を2列に記述しておきます。test1,TEST1 test2,TEST2・・・ そのファイル名を読み込んで2つのコマンドを実行します。 1、touch test1 2、mv test1 TEST1 そして、3番目に”もしファイルが存在しなくてエラーのメッセージが帰ってきたら終了する” という実行をしたいのですが、どのように実現したらよいでしょうか?

みんなの回答

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.2

#1 です。終了させるのを忘れました(^^;) open(IN, "filename"); while(<IN>) { chop; (@f) = split(/,/); if (-f $f[0] && -f $f[1]) { `touch $f[0]`; `mv $f[0] $f[1]`; } else { less (-f $f[0]) { die "$f[0]がありません。"; } else { die "$f[1]がありません。"; } } } close(IN);

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

コマンドを実行する前に、予めファイルスイッチでチェックしてはどうでしょうか? open(IN, "filename"); while(<IN>) { chop; (@f) = split(/,/); if (-f $f[0] && -f $f[1]) { `touch $f[0]`; `mv $f[0] $f[1]`; } } close(IN); とか。

関連するQ&A