- 締切済み
初歩的な質問で恐縮です。
プロの方にお願いです。 あらかじめファイルにテキストでファイル名を2列に記述しておきます。test1,TEST1 test2,TEST2・・・ そのファイル名を読み込んで2つのコマンドを実行します。 1、touch test1 2、mv test1 TEST1 そして、3番目に”もしファイルが存在しなくてエラーのメッセージが帰ってきたら終了する” という実行をしたいのですが、どのように実現したらよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 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); とか。