Не мог искать расположение файла

Попробуйте следующее:

perl -i -pe 's|^.*$||' /my/filename

Обратите внимание, что если у вас есть ведущее или заднее пространство в строке, вам это понадобится:

perl -i -pe 's|^ *.* *$||' /my/filename

I UESD труба в качестве сепаратора, а не слеса, чтобы избежать ненужного выхода.

-121--121535-

Не используйте регулярные выражения для анализа XML. Это отличный способ создать хрупкий код, потому что есть куча совершенно действительных вещей, которые вы можете сделать с XML, который сломает Regex. Такие вещи, как переформатируют XML, полностью действительными способами (например, «симпатичная печать» в нее вложенном / с отступлением), сломают ваш код.

Вместо этого я бы предложил - использовать анализатор XML. Лично мне нравится модуль XML :: Twig в Perl.

Ваш комментарий предполагает, что то, что вы пытаетесь сделать, это добавить вещи в элемент в вашем XML.

Так как насчет чего-то вроде этого:

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

use XML::Twig;

my $xml_text = '

';

my $parser = XML::Twig->new( 'pretty_print' => 'indented' );
#would probably use 'parsefile' instead here
$parser->parse($xml_text);

print "\nBefore:\n";
$parser->print;


#insert a new element into 'Networks':
$parser->root->first_child('Networks')->insert_new_elt(
        'last_child',     #position - end of "Networks" element
        'new_element',    #element
        {   'attribute_here'    => "value_here",
            'another_attribute' => 'another_value',
        },                 #attributes as key value pairs
        "Content_here",    #element content
    );


print "\nAfter:\n";
$parser->print;

-121--121536-

^ C генерирует сигнал прерывания ( SIGINT ). Это разрешено программам маскировать этот сигнал, и либо полностью игнорировать его или «реагировать» на него не фатально.

Например - вы можете захотеть программу, чтобы остановить все, что она делает прямо сейчас, но не прекращается полностью.

Итак ^ C не всегда работает.

^ Z , чтобы остановить работу, а затем Убить% 1 (где% 1 - это число на заданиях списка) будет отправлено его заканчивая сигнал ( SIGTERM ) вместо этого должен сделать трюк.

0
28.04.2015, 16:45
2 ответа

Вам необходимо создать вашу базу данных. Обычно это обычная работа CRON. Разные дистрибутивы будут иметь разные инструменты. В FreeBSD это /etc/periodic/weekly/310.locate

0
28.01.2020, 04:57

Вы, вероятно, просто установили пакет , и база данных не была создана / обновлен только еще. Пакет создает Cronjob в /etc/cron.daily/mlocate.cron , который работает ежедневно, но если вы не хотите ждать, вы можете просто запустить UpdatedB .

0
28.01.2020, 04:57

Теги

Похожие вопросы