【问题标题】:Read lines from a file and output each line with a line number从文件中读取行并输出带有行号的每一行
【发布时间】:2014-12-15 03:15:07
【问题描述】:

我是 Perl 编程的新手,我正在编写一个程序,它可以打开一个文件并逐行读取文件的每一行。然后它在每行的开头输出带有行号的文件。

截至目前,我正在阅读这些行,但我不知道如何区分各个行并在开始时输出一些内容。

#!/usr/bin/perl
use strict
use warnings

my $file = 'FILENAME.txt';
open(my $txt_file, '<', $file) or die "Could not open file."

while (my $lines = <$txt_file>) {
    ...
}

【问题讨论】:

  • perl -ne'printf "%04d %s", $., $_' FILENAME.txt

标签: perl text


【解决方案1】:

$. 变量保存最后访问的文件句柄的当前行号:

#!/usr/bin/perl
use strict;
use warnings;
use autodie;

my $file = 'FILENAME.txt';
open my $fh, '<', $file;

while ( my $line = <$fh> ) {
    print "$. $line";
}

【讨论】:

  • 谢谢。有没有办法格式化它以输出 4 位数的行号?例如,第 64 行将是 0064
  • @toolic:不过,格式在perldoc -f sprintf 中有说明。
猜你喜欢
  • 2019-07-09
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多