情報システム科

ディレクトリ内のファイルの内容を一気に、複数内容の置換え


# ディレクトリ内のファイルの内容を一気に、複数内容の置換え

# 動作開始コマンド
# perl c.pl

# 置換え前の文字-----下記に文字を記入-------
@s_from=("aaa", "bbb");
	
# 置換え後の文字-----下記に文字を記入-------
@s_to=  ("12", "45");

# 対象ファイル名-----下記に文字を記入-------
$sa="*.html";

@files = glob($sa);
foreach $filename(@files){
	
	# ファイルの内容を出力
#	print($filename);
#	print("\n");	
#	open( IN,$filename);
#	@a=;          # ファイルの内容をすべて@a に読み込む
#	close( IN ); 
#	print(@a);
#	print("\n");
	

	# ファイルの内容を変更
	open( IN,$filename);
	@a=;          # ファイルの内容をすべて@a に読み込む
	close( IN ); 
	
	@b=();            # 初期化
	$no=@s_from;

	foreach (@a){
		for ($n=0; $n<$no; ++$n){
		s/@s_from[$n]/@s_to[$n]/g;  # @s_fromを@s_toに置き換える
		}
		push( @b,$_); # @b の最後尾に追加
	}
	open (OUT,">$filename");
	print OUT @b;
	close (OUT);

	
	# ファイルの内容を出力
#	print($filename);
#	print("\n");	
#	open( IN,$filename);
#	@a=;          # ファイルの内容をすべて@a に読み込む
#	close( IN ); 
#	print(@a);
#	print("\n");
}




ホームへ