2012-01-23 14 views
1

私はかなり長い間答えを探していましたが、私は非常に新しいperlですので、私は私の問題を説明する助けを使うことができます他のスレッドから回答を受け取り、コードを微調整することはできません。私はテキストファイルから特定の行だけを印刷するのに助けが必要です(perl)

私は解決策をして見つけることにした最も近いを見つけることになった最も近い: How can I write only certain lines of a file in Perl?

それは同じ問題だが、私は唯一の「/」で始まる行を書きたい、これが可能です、可能であれば、どうすればいいですか?

ご協力いただきありがとうございます。

答えて

2

を単純な実装は、次のようになります。これは、すぐにライン(^)の開始後/を探し

while (<>) { 
    print $_ if /^\//; 
} 

行の先頭に空白を入れたい場合は、正規表現を/^[[:space:]]*\//に変更します。

基本的にスクリプトの残りの部分は、リンクしている質問と同じです。

1

あなたは行うことができます。

use strict; 
use warnings; 

open my $fhi, '<', $input or die "Can not open file $input: $!"; 
while (<$fhi>) { 
    print $_ if m/^\//; 
} 
2

Perlは、この目的のためにも、コマンドラインから使用することができる。

$ perl -lne 'print if /^\//' input.txt > output.txt 
関連する問題