The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы
.
Google unix.com



UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!!

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
извлекать строки из основных строкой madhu.it Shell программирование и сценарии 1 10-06-2008 05:05 AM
Экстракт подпункт строки из основного строка madhu.it Shell программирование и сценарии 5 10-04-2008 03:22 AM
Извлечение содержимого из нескольких TXT-файлов larsu Shell программирование и сценарии 7 06-17-2008 04:52 AM
Содержание экстракта из файла с использованием AWK nr_shan Shell программирование и сценарии 5 12-19-2007 05:22 AM
Как извлечь часть строки со всей строкой ds_sastry UNIX для чайников Вопросы И Ответы 2 09-29-2001 11:40 AM

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 11-25-2008
bala041 bala041 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 3
Помощь извлечь содержимое в эту строку

Привет Все,

Я строку в следующем формате:
"КФ skjgsdjgngnsd sdgsd

ksjgbksjgb kjsbgsjdgb
dfhdh

sjgsjg J jsbekgjsbdkgj ".

В этом формате я хочу, чтобы извлечь содержимое, которое в период между двух пустых строк: например, я хочу, чтобы извлечь следующие
"ksjgbksjgb kjsbgsjdgb
dfhdh ".

Пожалуйста, помогите мне в этом. Спасибо заранее.

Привет,
Бала
Old 11-25-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Модератор
  
 

Регистрация: Sep 2007
Местонахождение: Германия
Сообщений: 2285
Что вы так далеко?

Код:
sed -n '/^$/,/^$/ {/^[^ ]/p}' infile
ksjgbksjgb kjsbgsjdgb
dfhdh

Последний раз редактировалось zaxxon; на 11-25-2008 02:01 AM.. Причина: Исправлены несколько ошибок
Old 11-25-2008
bala041 bala041 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 3
Привет,
Я beginer в UNIX. Я старался сократить с помощью регулярных выражений. но что doesn't work.The проблемы я не имеющим строку в файл. Он выходит из некоторых других операций, а также формат, что O \ п, как это приводится ниже в предыдущий пост.
У можете, пожалуйста, объясните мне дали команду U, что использование этого INFILE. Строка будет динамичным. это может быть что угодно, но только в плане будут одинаковыми. То есть я, чтобы извлечь все строки между двумя новыми линиями.

Спасибо заранее,
Бала
Old 11-25-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Модератор
  
 

Регистрация: Sep 2007
Местонахождение: Германия
Сообщений: 2285
Вы должны быть в состоянии трубы ваш вывод только в том, что SED команды.
INFILE только имя файла, я сохранил ваш пример в моем жестком диске, и я кормлю SED не в трубе перед ним, но только с этой INFILE.

При выходе нужно разобрать зависит многое, вы не можете, как это. Вы должны знать, как выглядит ваш вывода как можно ближе.

Код:
sed -n              # Print only the stuff we want to see; else it prints all 
                    # the stuff it is processing additionally
'                   # Here starts the regex and commands
/^$/,/^$/           # The / starts and ends a pattern; ^ is the start of a
                    # line, $ the end of a line and since nothing is specified 
                    # between it, it must be an empty line. So writing two 
                    # patterns separated with a comma is like giving a 
                    # range "from" "to"
{/^[^ ]/p}          # When the range is separated, do the command in curled
                    # braces. The command inside the braces says to get a
                    # pattern, that does not start with a blank. Inside square brackets the ^ means "not". The p simply stands for print.


' infile
Old 11-25-2008
bala041 bala041 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 3
Привет,
Я пробовал следующую вещь.
comment1 \u003d $ (ECHO "$ comment1" | SED -N'/^$/,/^$/ (/ [^] / P) ').

comment1, где имеет строку, которая shuld быть отформатирован. Но он сказал, что:
SED: Команда искажен: /^$/,/^$/ (/ [^] / P).

Есть что-то не в порядке с Regex мы используем.

Привет,
Бала
Old 11-25-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Модератор
  
 

Регистрация: Sep 2007
Местонахождение: Германия
Сообщений: 2285
Я не уверен, что вы собираетесь делать. Если эхо "$ comment1", что вы получите? Есть выход нужно разобрать в переменную? Если это просто выход из команд, попробуйте с помощью этой команды и положил трубу | позади, что команда за которым следуют SED команды. Если это файл, используйте ее, как я сделал выше. Если нет причин, чтобы заставить текст в переменную, то не делайте этого.
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 06:43 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