最近、インフラエンジニアもがんがんコードを書かないといけないかんじなので、perlを勉強している。
上達するには、やっぱりコードをがしがし書くのが一番!というアドバイスをもらったので、とりあえず今日は一つ作ってみた。
コメントアウトをなしでファイルをみるスクリプト
apacheのhttpd.confとかみたいとき、コメントアウトとかは抜かして読みたいですよね。
むしろ、コメントアウトが多すぎで、コメントアウトしてないとこを抜かしちゃったりすることがありますよね。
そこで、今回はコメントアウトしているとこを抜かして表示するperlスクリプトを作りました。
以下にコードを記載します。
#!/usr/bin/perl use strict; use warnings; #第一引数をファイルとする #第二引数をコメントの文字とする my $file = $ARGV[0]; my $letter = $ARGV[1]; open(my $fh, '<', $file) or die "ファイルを開くのを失敗しました"; my $pattern = "^([^$letter])(.+)"; while(my $line = <$fh>){ >---if($line =~ /$pattern/){ >--->---print $line; >--->---print "\n"; >---} >---next; } close $fh;
簡単に解説すると、第一引数に開きたいファイル、第二引数にコメントアウトの記号を書きます。
(perlなら「#」)
使うときは以下のように使って下さい。本スクリプトのファイル名を「nocomment.pl」としています。
bash-3.2$ perl nocomment.pl httpd.conf "#"