Мне нужна помощь только для печати определенных строк из текстового файла (Perl) - PullRequest
1 голос
/ 23 января 2012

Я довольно долго искал ответ, но, поскольку я очень плохо знаком с Perl, я мог бы использовать некоторую помощь, которая объясняет мою проблему, так как я не могу взять ответы из других потоков и настроить их коды.

Самым близким к поиску решения, которое я нашел, было: Как я могу написать только определенные строки файла в Perl?

Это та же проблема, но я только хочу написать строки, которые начинаются с "/", возможно ли это, и если возможно, как мне это сделать?

Любая помощь очень ценится, заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 23 января 2012

Простая реализация может выглядеть следующим образом:

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

Это выглядит как / сразу после начала строки (^).

Если вы хотите разрешитьв некоторых пробелах в начале строк измените ваше регулярное выражение на /^[[:space:]]*\//.

По сути, остальная часть сценария такая же, как в вопросе, с которым вы связались.

2 голосов
/ 23 января 2012

Perl также можно использовать из командной строки:

$ perl -lne 'print if /^\//' input.txt > output.txt
1 голос
/ 23 января 2012

Вы можете сделать:

use strict;
use warnings;

open my $fhi, '<', $input or die "Can not open file $input: $!";
while (<$fhi>) {
    print $_ if m/^\//;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...