看到脚本(见下文),但无法找到更多关于“-n”的信息。脚本中的“-n”是什么?
my $numeric =0;
my $input = shift;
if ($input eq "-n") {
$numeric =1;
$input = shift;
}
my $output = shift;
open INPUT, $input or die $!;
open OUTPUT, ">$output" or die $!;
my @file = <INPUT>;
if ($numeric) {
@file = sort { $a <=> $b } @file;
} else {
@file = sort @file;
}
print OUTPUT @file;
文本解释脚本说下面“如果我们我们的程序名后命令行上看到的第一件事情是字符串-n
,那么我们正在做数字排序。” Google搜索似乎无法识别大多数“非字母数字”符号,因此"-n"
搜索不会产生任何结果。我看到的唯一的其他地方"-n"
在学习perl,它表示以下“转换的sed
脚本可以使用或不使用-n
选项”。甚至不知道这是否与脚本中的"-n"
一样。任何想法,我可以找到关于-n
更多信息(虽然它可能只是一个数字字符串??没有别的更多)
仍然困惑。脚本究竟应该如何表现?即带或不带-n,有什么区别? – 2013-04-08 04:29:41
“-n”只是脚本的创建者选择表示输入文件应该按照数字排序而不是字母数字排序。它与任何其他程序的命令行参数无关。作者本来可以很好地选择“-i”或“--sort_numerically” – imran 2013-04-08 04:35:53
你不会在互联网上找到它。你找到的代码评论解释了它。它对文件进行排序。假设该脚本被称为“分拣机”。然后,如果他们在命令行上写入“sorter infile outfile”,它将读取infile中的每一行,按字母顺序对它们进行排序,然后将结果写入outfile。但是,如果他们写入“sorter -n infile outfile”,那么它将读取行并将它们排序为数字而不是字符串。 – 2013-04-08 04:36:38