The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Взять меньшее и большее значение Raynon Shell программирование и сценарии 3 10-11-2007 07:23 AM
захват в строке, используя AWK cdfd123 Shell программирование и сценарии 1 10-10-2007 09:21 AM
поиск и захват данных из огромного файла ting123 UNIX для чайников Вопросы И Ответы 1 06-06-2006 10:41 PM
Как связывать две строки или несколько строк в одну строку в B-оболочки? FONTANA Shell программирование и сценарии 2 08-26-2005 12:58 PM
Как Получите последний файл n9ninchd UNIX для чайников Вопросы И Ответы 1 05-10-2001 05:31 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 10-04-2006
Raynon Raynon is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Место проведения: Sg
Сообщений: 350
Как захватить данных между 2 строками?

Привет Все,
У меня есть текстовый файл ниже. Как мне захватить все данные между "05T00NPQSMR1" и "****" используя AWK? Просьба отметить, что текст строк не может быть фиксированной и содержание текста является динамичной. Просьба помочь. Спасибо

Ниже мой код, где $ LOT_SUFFIX мой корпуса переменной.

AWK'/'"$ LOT_SUFFIX "'/,/ бла / '$ nfile_selected

Данные:

бла
ххх
YYY
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************


Ожидаемый результат:
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла
************************************
Old 10-04-2006
vino's Avatar
Вино vino is offline Forum Staff  
Supporter (в Vino Veritas)
  
 

Регистрация: Февраль 2005
Место проведения: Бангалор, Индия
Сообщения: 2798
Попробуйте это.

Код:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt

Иначе это.

Код:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

На данный момент, я Dont имеют доступ к Unix-терминала для проверки этого.
Old 10-04-2006
Raynon Raynon is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Место проведения: Sg
Сообщений: 350
Цитата:
Первоначально Послано Вино
Попробуйте это.

Код:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt


Иначе это.

Код:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

На данный момент, я Dont имеют доступ к Unix-терминала для проверки этого.
Привет, вывод, как далеко от того, что я хотел. См. ниже.

Результат:
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
Old 10-04-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2558
Альтернативные на Python:

Вход:
бла
ххх
YYY
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
xxxasdfljsdlfx
YYY; slkfd; S
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf




Код:
number = []
all = open("test.txt").readlines()
for num,line in enumerate(all):
 	line = line.strip()
 	if "*" * 58 in line:
 		number.append(num)
 

for i in range(len(number)):
 	try:
 		print ''.join(all[ number[i]:number[i+1] ] )
 	except:
 		print ''.join(all[number[i]:])


Результат:
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла

************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
xxxasdfljsdlfx
YYY; slkfd; S
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf

Последний раз редактировалось ghostdog74; на 10-05-2006 04:34 AM..
Old 10-04-2006
vish_indian vish_indian is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Место нахождения: Дели, Индия
Сообщений: 92

Код:
awk -v pat1="05T00NPQSMR1" -v pat2="^[*]{3,}" '$0~pat1,$0~pat2' awtest

Если вам нужна только данные по "** tasC"


Код:
awk -v pat1="05T00NPQSMR1" -v pat2="^** tasC" '$0~pat1,$0~pat2' awtest

Old 10-04-2006
anbu23 anbu23 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Место проведения: Бангалор, Индия
Сообщения: 1398
Цитата:
бла
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006

Код:
sed -n '/05T00NPQSMR1/,/*\{58\}/p' input

где 58 длина выше звездочкой линия
Old 10-05-2006
Raynon Raynon is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Место проведения: Sg
Сообщений: 350
Привет Anbu,
Ниже код:
AWK-V pat1 \u003d "05T00NPQSMR1"-V pat2 \u003d"^[*]{ 3,) " '$ 0 ~ pat1, $ 0 ~ pat2' awtest

И Vish,
Ниже код:
SED -N '/ 05T00NPQSMR1 /, / * \ (58 \) / P' входного

Оба мероприятия являются:
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла
************************************************** ********
** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************


Но то, что мне нужно это:

** 05T00NPQSMR1 P98P2234 вт 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Выборки \u003d 100 0
** TASM \u003d MFMM хх хх хх
** TasC \u003d MFMC хх хх хх
************************************
XXXX
YYY
ZZZ
бла
бла


Просьба помочь. Спасибо

Последний раз редактировалось Raynon; на 10-05-2006 04:21 AM..
Closed Thread

Закладки

Теги
Regex, регулярные выражения

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

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

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

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




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