The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Newbie помочь с New Line И пустая строка kthatch UNIX для чайников Вопросы И Ответы 5 01-23-2009 04:19 PM
SED: удалить строку Regex и следующую строку пустой, если one71 Shell программирование и сценарии 2 09-18-2008 06:53 AM
Как получить последний, не-пустую строку? tqlam Shell программирование и сценарии 6 01-17-2008 07:13 PM
Пустая строка? varungupta UNIX перспективных И опытных пользователей 2 09-10-2007 01:52 PM
наклоняю найти команду, которая возвращает пустую строку jeffersno1 UNIX для чайников Вопросы И Ответы 2 11-15-2001 04:14 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 03-18-2009
ddrew78 ddrew78 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 8
Найдите строку перед пустым

Здравствуйте,

Я на самом деле иметь два вопроса. Во-первых, вот этот файл как она является сейчас.

someword someword: 1
новое слово, новое слово ABCD
someword someword: 10
новое слово, новое слово ABCD
thisis whatIneed: 3


someword someword: 5
новое слово, новое слово ABCD

Мне нужно, чтобы получить линию до 2 заготовки и переместить его в другой файл. Я попытался с помощью SED, Но все время получаю сообщение об ошибке. Кроме того, никто не может быть один или несколько экземпляров этого в файле.

Я, вероятно, следует также отметить, что это является частью более крупной Perl Сценарий я работаем. Я все еще сделано, файл на самом деле выше, порожденных сценарием. У меня также есть все ниже, она полная, но первая половина дня полностью застрял на этом этапе.

Любая помощь будет либо оценку.

Последний раз редактировалось ddrew78; на 03-18-2009 07:43 PM..
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Месторасположение: Пекин Китай
Сообщения: 1088
примерно мысли ниже, надеюсь, поможет вам

Код:
open $fh,"<","yourfile";
open $out,">>","youroutfile";
undef $/;
$str=<$fh>;
print $out split(/\n^$\n^$\n/s,$str,2)[0];
Old 03-18-2009
aaaaargh aaaaargh is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2006
Сообщений: 20
Вот моя, уродливой, но необходимо сделать трюк

(не тестировалось)

Код:
awk 'BEGIN{i=0}
  { content[NR]=$0; if (($0=="")) {b[i]=NR;i++} j++;} 
  END 
 { 
   for (x=0;x<=b[0];x++) 
  {print content[x] > "file1" } for (x=b[1];x<=j; x++) { print content[x] > "file2"}   
}'  /var/tmp/file
Old 03-19-2009
ddrew78 ddrew78 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 8
Re: Найдите строку перед пустым

Летом вишни,

Вот что я оказался в моем скрипте:

#! / USR / BIN /Perl

открыть $ FH ,"<"," MyFile ";
открыть в $ ,">>"," mynewfile ";
ФДООН $ /;
ул $ \u003d <$ FH>;
Версия для печати $ в Сплите (/ \ N ^ $ \ N ^ $ \ N / S, $ ул, 2) [0];

Я получил сообщение об ошибке ниже. Любые идеи? Я высоко ценю помощь.

синтаксическая ошибка в ansipre2 строки 7, возле ") ["
Исполнение ansipre2 прервана из-за ошибки компиляции.
Old 03-19-2009
ddrew78 ddrew78 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 8
Re: Найдите строку перед пустым

Цитата:
Первоначально Послано aaaaargh View Post
Вот моя, уродливой, но необходимо сделать трюк

(не тестировалось)

Код:
awk 'BEGIN{i=0}
  { content[NR]=$0; if (($0=="")) {b[i]=NR;i++} j++;} 
  END 
 { 
   for (x=0;x<=b[0];x++) 
  {print content[x] > "file1" } for (x=b[1];x<=j; x++) { print content[x] > "file2"}   
}'  /var/tmp/file


Спасибо за ответ. К сожалению, я новичок в этом и не могу понять, как осуществлять это в моем сценарии. Ниже последние две строки в скрипте, чтобы получить файл я выше.

Система "dos2unix ansi3> ansi7";
системе "М. В. ansi7 ansi3";

Еще раз спасибо за любую помощь.
Old 03-19-2009
rikxik's Avatar
rikxik rikxik is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 250
Код:
$ cat sd
sed -n '/^$/!{
h
}
/^$/{
N
/^\n$/ {
x
p
q
}
}' fl
$
$ cat fl
someword someword:1
new-word new-word abcd
someword someword:10
new-word new-word abcd
thisis whatIneed:3


someword someword:5
new-word new-word abcd
$
$ sd
thisis whatIneed:3
Будьте осторожны, когда вы вырежьте вставить это - не должно быть пробелов.

Последний раз редактировалось rikxik; на 03-19-2009 10:49 PM..
Old 03-20-2009
ddrew78 ddrew78 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 8
Спасибо всем, кто помог мне в этом. После продолжительной боли я решил пойти в другой маршрут и вместо приложил повторяя строки в его предыдущей строке. Разумеется, в результате которого несколько дополнительных строк кода, но то, что щеколда. Просто Правила посещения, ниже код, который в конечном итоге то, что мне линий я изначально искал.



OPEN (FILE7, "> file7");
OPEN (MYINPUTFILE ", file3");

а (<MYINPUTFILE>) (
chomp;
моя someword $ \u003d "";
$ мои новые слова \u003d "";
если (/ ^ someword /) ($ someword \u003d $ _; при (<MYINPUTFILE>) (chomp;
если (/ ^ новое слово /) (
Версия для печати FILE7 "$ someword $ _";
Версия для печати FILE7 "\ N";)
последнего;
)
)
)
системе "М. В. file7 file3";
Система "dos2unix file3> file7";
системе "М. В. file7 file3";
Система "кот file3 | светотеневую D" "-f1-2>> file0 ';
Система "сорт-н file0> file1";
Система "MV file1 file0";
Система "Sort file0 | Uniq-U> file1";
Система "MV file1 file0";
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 10:46 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0