遅刻の「言い訳」選手権

標準入力から入力したテキストファイル中の大文字を小文字に変換して出力するプログラムを考えているのですが、
$a = 'Abcd';
$a = lc $a;
のようにすると大文字が小文字になるのはわかるのですが、標準入力からの入力にするとうまくいきません。
またもうひとつテキスト中に大文字のある特定の文字があればその文字がある行を削除して、それ以外を表示するプログラムも考えています。
こちらはその特定の文字を見つけたあと、その行を削除するのにどのようにしたらいいかわかりません。

これらの方法を教えていただきたく思っています。

A 回答 (2件)

>のようにすると大文字が小文字になるのはわかるのですが、


なら

perl -n -e 'print lc $_' infile.txt > outfile.txt

でいいんじゃないの?

>またもうひとつテキスト中に大文字のある特定の文字があればその文字がある行を削除

特定の大文字を B として

perl -p -e 's/B.*$/B/' infile.txt > outfile.txt
    • good
    • 0

特定の文字があったらその行を削除、だから



perl -ne 'print unless /特定の文字/'

じゃないかなあ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報