#!/usr/bin/perl ############################## #     初期設定     # ############################## ###########ここまで########### #カレントディレクトリを取得 use Cwd; $pwd_full = Cwd::getcwd(); print "ディレクトリのフルパスは" . $pwd_full . "です\n"; #カレントディレクトリの末端を切り出し $pwd = $pwd_full; $pwd =~ s/.*\/(.*?)$/$1/; print "ディレクトリのなまえは" . $pwd . "です\n"; #結果保存用にホームディレクトリのwk_gskの末端.txtを書き込みオープン $savefile = $ENV{HOME} . "/wk_gsk/$pwd.txt"; print "$savefile に保存しようと思います\n"; if (!open(NOTE, ">", "$savefile")) { die("cannnot open savefile"); } flock(NOTE, 2); #調査対象がリスト化されたファイルを読み込みオープン $readfile = $ENV{HOME} . "/wk_gsk/list.txt"; open(IN, "<", "$readfile") or die("cannnot open readfile"); #変数を初期化。調査対象の各々に対して while($line = readline IN){ chomp $line; @grepresult = ""; # grep結果を格納 $grepresult_lines = ""; # grep結果の行数を格納 $writeline = ""; # 書き込む内容 #調査を実施 @grepresult = `grep -Irn \"$line\"`; #結果の行数を取得 $grepresult_lines = @grepresult; if ($grepresult_lines != 0) { #結果が0行でない場合に○\nを $writeline = join(',', @grepresult); $writeline =~ s/(\r|\n)//g; $writeline = "○," . $writeline . "\n"; print NOTE $writeline; } else { #結果が0行だった場合に−\nを $writeline = "−" . "\n"; print NOTE $writeline; } } #ファイルを閉じる close(IN); flock(NOTE, 8); close(NOTE);