- 締切済み
UNIX ファイル存在チェックの方法
お世話になります。 UNIXにてファイル存在チェックを行うShellスクリプトを作成しています。 ■プログラム if (-f "text_file_*.txt") then echo "存在している" else echo "存在していない" endif ■問題点 IF文中の比較対照ファイルとして、ワイルドカード(*)を 指定しているのですが、文字列として認識されてしまいます。 この方法でワイルドカードとして処理を実行する方法はあるでしょうか? もしくは代替案などありましたら、ご教示いただきたいです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- superside0
- ベストアンサー率64% (461/711)
回答No.4
cshのようなので・・ ls text_file_*.txt >& /dev/null if ( $status == 0 ) then echo "存在している" else echo "存在していない" endif でどうでしょう。
noname#96023
回答No.3
#2です ごめんなさいさっきのじゃ駄目だ if [ `ls | egrep text_file_*.txt` ] ファイルが無い時はエラーが表示されるのできちんと処理する必要がありますけど
noname#96023
回答No.2
if [ ! 'ls text_file_*.txt | wc -l' ] then こんなのでどうでしょう
- x1va
- ベストアンサー率26% (802/3006)
回答No.1
ワイルドカードを使ったファイル存在チェックはtestコマンドでできます。これの戻り値で判定すればいいでしょう。 http://www.21linux.com/archives/2005/12/test.html