スクリプト
上の雑記で書いたように、一度書いたnamespaceを全て削除しなくてはいけなくなりました。幸い、閉じ括弧の方にもコメントで"namespace tetsuya32"と書いていたため、スクリプトで自動削除できそうです。DOSの頃からコマンドラインは使っているのですが、スクリプトにはだいぶ疎いです。四苦八苦しながらネットで調べて、次のようなシェルスクリプトを作ってみました。
#! /usr/bin/csh if ( $#argv != 0 ) then set dir = $argv[1] cd $dir foreach file (*) if (-f $file) then sed -e '/namespace tetsuya32/d' $file > tmp mv tmp $file endif end endif
指定したディレクトリ内にある全てのファイルから、"namespace tetsuya32"を含む行を削除するスクリプトです。まず、sedの使い方が思い出せない。次に、foreachの使い方。そして、リダイレクトで上書きするとファイルが消えるという現象。散々苦労して上記のようなスクリプトになったわけです。絶対に手作業でチマチマ消した方が早かったでしょうが、これも今後の勉強のため。スクリプトくらい使えなくちゃまずいですよね。sedはperlで置き換えられるだろうから、まずはシェルスクリプトとperlを覚えたいと思います。
今回参考にさせていただいたサイトはこちら。