• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Не могу вытащить строки.

  • Автор темы Stan777
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Stan777

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
делал так
$flag=0;
while (<Стрим_ФАЙЛ>){
chomp($_);
if($_ =~ /(ARGS=)\S/){
$flag=1;
push @MASS, $';
}
if($flag=1){
push @MASS, $_;
}
if($_ eq "'"){
$flag=0;
exit;
}
}
Это Не работает почему ?
в @MASS записывается все, а мне нужно только от ARGS='... до ' как это сделать, не пойму.
 
S

Stan777

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
делал так
$flag=0;
while (<Стрим_ФАЙЛ>){
chomp($_);
if($_ =~ /(ARGS=)\S/){
$flag=1;
push @MASS, $';
}
if($flag=1){
push @MASS, $_;
}
if($_ eq "'"){
$flag=0;
exit;
}
}
Это Не работает почему ?
в @MASS записывается все, а мне нужно только от ARGS='... до ' как это сделать, не пойму.


мда опять пришлось делость по сишному.
$flag=0;

for($i=0;$i<=scalar(@R);$i++){
if($R[$i] =~ /(ARGS=)\S/){
$flag=2;
}
if($flag>0){
push @MASS,$R[$i];
if($R[$i] =~ /(')/){
$flag--;
print $i."here:".$R[$i]."\n";
}
}

}

И все в шоколаде. :), только осталась одна проблема как быть с
ARGS=' aaaaaaaaaaa
.............................
..............................
wwwwwwwwwwwww'
только меня не устраивает ARGS=' и wwwwwwwwwwwww' в конце что делать ?
мне нужно удалять все до символа если он не последний и сам символ если он последний как это сделать ? Может кто знает ?
 
Z

zugr

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;
 
S

Stan777

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;

а я к предыдущему коду еще это дописал :).

Код:
@tin= split(//,$MASS[$#MASS]);
pop(@tin);											
$MASS[$#MASS]= join "",@tin;

Чтобы удалить последний симбол :).
 
S

Stan777

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;

а я к предыдущему коду еще это дописал :).

Код:
@tin= split(//,$MASS[$#MASS]);
pop(@tin);											
$MASS[$#MASS]= join "",@tin;

Чтобы удалить последний симбол :).
 
S

_serg_

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
Код:
while(<FILE>) {
next if $_ !~ /^\s*ARGS='/;
next if $_ !~ /'\s*$/s;
# сделать что-нить с $_ - она ща начинается с /\s*ARGS='/ и заканчивается '\s*$
}


Чтобы удалить последний пробельный символ:
Код:
$str =~ s/\s+$//s;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!