Попробуйте следующее:
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
) вместо этого должен сделать трюк.
Вам необходимо создать вашу базу данных. Обычно это обычная работа CRON. Разные дистрибутивы будут иметь разные инструменты. В FreeBSD это /etc/periodic/weekly/310.locate
Вы, вероятно, просто установили пакет
, и база данных не была создана / обновлен только еще. Пакет создает Cronjob в /etc/cron.daily/mlocate.cron
, который работает ежедневно, но если вы не хотите ждать, вы можете просто запустить UpdatedB
.