Нужно удалить из лога squid строки с http:// Sed ом не получается из-за
// Си я не знаю, неужели нет ничего простого.
Помогите хотя бы советом.
>Нужно удалить из лога squid строки с http:// Sed ом не получается
>из-за
>// Си я не знаю, неужели нет ничего простого.
>Помогите хотя бы советом.
в первом приближении grep -v "http://" /путь_до_лога/access.log
далее man grep
>Нужно удалить из лога squid строки с http:// Sed ом не получается
>из-за
>// Си я не знаю, неужели нет ничего простого.
>Помогите хотя бы советом.совет прост - изучай регулярные выражения, спецсимволы необходимо экранировать: http:// - http:\/\/
>>Нужно удалить из лога squid строки с http:// Sed ом не получается
>>из-за
>>// Си я не знаю, неужели нет ничего простого.
>>Помогите хотя бы советом.
>
>совет прост - изучай регулярные выражения, спецсимволы необходимо экранировать: http:// - http:\/\/
>
Очень рекомендую изучить перл - удобный и простой язык, гораздо проще шела. Я не программер, но часто его использую для разных задач.
Эта прога будет стирать строки с http://#!/usr/bin/perl -w
use strict;my $file= "/usr/local/squid/var/logs/tst";
my $string = "http:\/\/";
my $value = undef;
print "$file\t$string\t$value\n";
@ARGV = "$file" or die "No file found";
$^I=".bak";
while (<>) {
s/^.*$string.*/$value/;
print;
}
>Нужно удалить из лога squid строки с http:// Sed ом не получается
>из-за
>// Си я не знаю, неужели нет ничего простого.
>Помогите хотя бы советом.
Скрипт на перле:#!/usr/bin/perl -w
use strict;my $file= "/usr/local/squid/var/logs/tst";
my $string = "http:\/\/";
my $value = undef;
print "$file\t$string\t$value\n";
@ARGV = "$file" or die "No file found";
$^I=".bak";
while (<>) {
s/^.*$string.*/$value/;
print;
}
>>Нужно удалить из лога squid строки с http:// Sed ом не получается
>>из-за
>>// Си я не знаю, неужели нет ничего простого.
>>Помогите хотя бы советом.
>
>
>Скрипт на перле:
>
>#!/usr/bin/perl -w
>use strict;
>
> my $file= "/usr/local/squid/var/logs/tst";
> my $string = "http:\/\/";
>
> my $value = undef;
>
> print "$file\t$string\t$value\n";
> @ARGV = "$file" or
>die "No file found";
> $^I=".bak";
> while (<>) {
> s/^.*$string.*/$value/;
> print;
> }sed '/^http:\/\//d' file > file2 ..действительно перл намного легче шелл скриптов :)
>>>Нужно удалить из лога squid строки с http:// Sed ом не получается
>>>из-за
>>>// Си я не знаю, неужели нет ничего простого.
>>>Помогите хотя бы советом.
>>
>>
>>Скрипт на перле:
>>
>>#!/usr/bin/perl -w
>>use strict;
>>
>> my $file= "/usr/local/squid/var/logs/tst";
>> my $string = "http:\/\/";
>>
>> my $value = undef;
>>
>> print "$file\t$string\t$value\n";
>> @ARGV = "$file" or
>>die "No file found";
>> $^I=".bak";
>> while (<>) {
>> s/^.*$string.*/$value/;
>> print;
>> }
>
>sed '/^http:\/\//d' file > file2 ..действительно перл намного легче шелл скриптов :):)
Может не конкретно для этой задачи, но уверяю вас! Достаточно усложнить задачи программы и условия поиска для sed-а и может поехать крыша
Но спорить не буду :)))
>>>>Нужно удалить из лога squid строки с http:// Sed ом не получается
>>>>из-за
>>>>// Си я не знаю, неужели нет ничего простого.
>>>>Помогите хотя бы советом.
>>>
>>>
>>>Скрипт на перле:
>>>
>>>#!/usr/bin/perl -w
>>>use strict;
>>>
>>> my $file= "/usr/local/squid/var/logs/tst";
>>> my $string = "http:\/\/";
>>>
>>> my $value = undef;
>>>
>>> print "$file\t$string\t$value\n";
>>> @ARGV = "$file" or
>>>die "No file found";
>>> $^I=".bak";
>>> while (<>) {
>>> s/^.*$string.*/$value/;
>>> print;
>>> }
>>
>>sed '/^http:\/\//d' file > file2 ..действительно перл намного легче шелл скриптов :)
>
>:)
>Может не конкретно для этой задачи, но уверяю вас! Достаточно усложнить задачи
>программы и условия поиска для sed-а и может поехать крыша
>Но спорить не буду :)))в данном задаче крыша едет от вашего кода :)