2

テキストファイルをすべて大文字に変換するPerlスクリプトを作成するにはどうすればよいですか?

4

4 に答える 4

9
perl -ne "print uc" < input.txt

-n、コマンドラインスクリプト(によって提供される-e)をwhileループでラップします。Aucは、デフォルト変数のALL-UPPERCASEバージョンを返します。$_これprintは、あなた自身が知っていることです。;-)

-p同じです-nprint、さらに機能します。繰り返しますが、デフォルトの変数に作用します$_

これをスクリプトファイルに保存するには:

#!perl -n
print uc;

このように呼んでください:

perl uc.pl < in.txt > out.txt
于 2011-04-29T12:55:36.727 に答える
3
$ perl -pe '$_= uc($_)' input.txt > output.txt
于 2011-04-29T12:47:33.293 に答える
2

perl -pe'$ _ = uc($ _)' input.txt> output.txt

ただし、Linux(または* nix)を使用している場合は、Perlも必要ありません。他のいくつかの方法は次のとおりです。

awk:

awk'{print toupper($ 0)}' input.txt> output.txt

tr:

tr'[:lower:]''[:upper:]' <input.txt> output.txt

于 2011-04-29T13:13:25.377 に答える
0
$ perl -Tpe " $_ = uc; " --

$ perl -MO=Deparse -Tpe " $_ = uc; " -- a s d f
LINE: while (defined($_ = <ARGV>)) {
    $_ = uc $_;
}
continue {
    die "-p destination: $!\n" unless print $_;
}
-e syntax OK

$ cat myprogram.pl
#!/usr/bin/perl -T --
LINE: while (defined($_ = <ARGV>)) {
    $_ = uc $_;
}
continue {
    die "-p destination: $!\n" unless print $_;
}
于 2011-05-01T04:40:40.770 に答える