The UNIX and Linux Forums  


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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Parse XML-список задач для создания каждого файла task.xml MissI Shell программирование и сценарии 3 11-11-2008 02:20 PM
Комментарии и Раскомментируйте одной задачи из нескольких задачи madhusmita Shell программирование и сценарии 9 06-18-2008 10:42 AM
Арифметические операторы filda UNIX для чайников Вопросы И Ответы 0 06-13-2008 01:55 AM
Могу ли я пользоваться туалетом-L с арифметическим выражением? lalelle Shell программирование и сценарии 3 08-11-2007 07:44 PM
арифметика в KSH Амон Shell программирование и сценарии 12 02-05-2007 02:43 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 02-11-2009
Марселино marcelino is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2009
Сообщений: 4
SED или AWK для арифметической задачи

Я файл с таким типом формате

01.02.09 08:30
Bob
Джил
пометить

01.04.09 07:00
Bob
Джил
пометить
Томь

Я хочу рассчитывать фамилии после даты / ИМЕ линия (01.02.09 08:30), и добавить, что число после того, как эта

01.02.09 08:30 3
01.04.09 07:00 4

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

Что является лучшим средством для достижения этой цели, и кто-то может привести пример?
Old 02-11-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2005
Место: Boston, MA
Сообщения: 5131

Код:
nawk 'BEGIN {RS=FS=""} {print $1, NF-1}' myFile

Old 02-11-2009
Марселино marcelino is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2009
Сообщений: 4
Практически это

Nice ...

Мне пришлось добавить пространства "и изменить NF-1 NF-2 для получения точных рассчитывать на всех линиях, кроме последнего и первого въезда. NF-1 дает правильный выход для последней строке рассчитывать только. Я имею 9000 строк и поэтому я с последним и первым неправильно не важный вопрос.

Следующая проблема заключается в том, что вывод только время в строке следующим образом:

10:00 4
11:00 6

Мне нужна дата на выходе. В настоящее время поиск через nawk вручную, чтобы выяснить, каким образом совместить времени и даты в выходных. Любое быстрое предложения? BTW, nawk 1.3.3 работает с Ubuntu 8.10
Old 02-11-2009
summer_cherry summer_cherry is offline Forum Advisor  
Зарегистрированный пользователь
  
 

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

Код:
01.02.09 08:30
bob
jill
mark 

01.04.09 07:00
bob 
jill 
mark
tom

01.02.09 09:30
bob
jill
mark 
hj
gh
fm

01.04.09 10:00
bob 
jill 
mark
tom
aaa
bbb
ccc

вывод:

Код:
01.02.09 08:30 3
01.04.09 07:00 4
01.02.09 09:30 6
01.04.09 10:00 7

код:

Код:
#!/usr/bin/perl
$/="\n\n";
open FH,"<a.txt";
while(<FH>){
	my @temp=split("\n",$_);
	print $temp[0]," ",$#temp,"\n";
}


Код:
awk '/[0-9]*\.[0-9]*\.[0-9]* [0-9][0-9]:[0-9][0-9]/{
	a=$0
	next
}
/^ *$/{
	print a" "n
	n=0
	next
}
{
 n++
}
' a.txt


Последний раз редактировалось summer_cherry; на 02-11-2009 11:54 PM..
Old 02-12-2009
Марселино marcelino is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2009
Сообщений: 4
summer_cherry и AWK Perl Скрипт работал прекрасно, как есть ... Мне просто нужно понять, как вы сделали это ... спасибо ...
Old 02-12-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2005
Место: Boston, MA
Сообщения: 5131
Цитата:
Первоначально Послано Марселино View Post
Nice ...

Мне пришлось добавить пространства "и изменить NF-1 NF-2 для получения точных рассчитывать на всех линиях, кроме последнего и первого въезда. NF-1 дает правильный выход для последней строке рассчитывать только. Я имею 9000 строк и поэтому я с последним и первым неправильно не важный вопрос.

Следующая проблема заключается в том, что вывод только время в строке следующим образом:

10:00 4
11:00 6

Мне нужна дата на выходе. В настоящее время поиск через nawk вручную, чтобы выяснить, каким образом совместить времени и даты в выходных. Любое быстрое предложения? BTW, nawk 1.3.3 работает с Ubuntu 8.10
Ммм .. очень странно ...
mar.txt:

Код:
01.02.09 08:30
bob
jill
mark

01.04.09 07:00
bob
jill
mark
tom

nawk 'BEGIN (RS \u003d FS \u003d "") (печатных $ 1, NF-1)' mar.txt

вывод:

Код:
01.02.09 08:30 3
01.04.09 07:00 4

Выглядит штрафа для меня. Почтовые ваш входной файл (или его часть), используя Vb кодекса теги.
Old 02-12-2009
Марселино marcelino is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2009
Сообщений: 4
ответ

Используя одни и те же данные у вас, например, я получил следующее:

nawk 'BEGIN (RS \u003d FS \u003d "") (печатных $ 1, NF-1)' data.txt
0 27
0 31

Добавление пространства для ""

$ Nawk 'BEGIN (RS \u003d FS \u003d "") (печатных $ 1, NF-1)' data.txt
01.02.09 0
08:30 4
07:00 4

Переход на NF-2

$ Nawk 'BEGIN (RS \u003d FS \u003d "") (печатных $ 1, NF-2)' data.txt
01.02.09 -1
08:30 3
07:00 3
Closed Thread

Закладки

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

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

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

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




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


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