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

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
grep используя формат даты ali560045 Shell программирование и сценарии 4 12-26-2007 08:59 AM
grep используя формат даты ali560045 Shell программирование и сценарии 8 12-11-2007 06:39 PM
Я, как подготовить C + + код (с кодом) для осуществления моей протокол формате amitpansuria Программирования высокого уровня 1 09-06-2007 11:09 PM
Как отформатировать команды grep jasongr Shell программирование и сценарии 2 11-18-2005 02:07 PM
Как формате число / строка в KSH GNMIKE Shell программирование и сценарии 2 07-03-2005 03:44 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-01-2008
krishna.fuji krishna.fuji is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2008
Сообщений: 5
Thumbs up Grep, то формат затем подготовить строкой

Привет

У меня есть файл, который имеет строку ниже

Личный единица \u003d AU003 (Industrial Products отдел), завод \u003d B00089, Departmant \u003d D110

Если я когда-либо тонкой линии, начиная sith Личный группы и содержит растений департамента Мне нужно выбрать эту линию и отформатировать его как

Личный единица \u003d AU003
Ботва \u003d B00089
Departmant \u003d D110
-> RAM: AU003: B00089110: система дата: заголовок файла

Я использовал SED

SED -E '/ Персональные группы / (; H; S /^/#/ P; X;)'-E '/ Бизнес-единица / (S /, завод / \ nPlant / G'-E 'S /, Departmant / \ nDepartmant / G ') FileName

Но это не мое fullfilling всем нужно
Может ли какая-либо одна просьба предложить
Old 10-02-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4300
AWK Что вы можете сделать что-то вроде:
Код:
awk -F, '/^Personal Unit=/&&/Plant/&&/Departmant/{sub("\(.*\)","")}{print $1 OFS $2 OFS $3}' OFS="\n" file
Привет
Old 10-02-2008
drl's Avatar
ДРЛ drl is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Apr 2007
Место проведения: Санкт-Пол, Миннесота США / BSD, CentOS, Debian, OS X, Solaris
Сообщений: 707
Привет.

Мне пришлось изменить подпункт таким образом, с цитатой к черту:
Код:
#!/usr/bin/env sh

# @(#) user1    Demonstrate 2-level parsing with awk.

#  ____
# /
# |   Infrastructure BEGIN

set -o nounset
echo

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset

echo

FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE

# Use nawk or /usr/xpg4/bin/awk on Solaris.

# |   Infrastructure END
# \
#  ---


echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE

exit 0
Производство:
Код:
% ./user1

(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4

 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110

 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110
Cheers, ДХО
Old 10-03-2008
krishna.fuji krishna.fuji is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2008
Сообщений: 5
его не точный вывод, какие мы ожидали

Цитата:
Первоначально Послано ДРЛ View Post
Привет.

Мне пришлось изменить подпункт таким образом, с цитатой к черту:
Код:
#!/usr/bin/env sh
 
# @(#) user1    Demonstrate 2-level parsing with awk.
 
#  ____
# /
# |   Infrastructure BEGIN
 
set -o nounset
echo
 
## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -
 
## Use local command version for the commands in this demonstration.
 
set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset
 
echo
 
FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE
 
# Use nawk or /usr/xpg4/bin/awk on Solaris.
 
# |   Infrastructure END
# \
#  ---
 
 
echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE
 
exit 0
Производство:
Код:
% ./user1
 
(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4
 
 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110
 
 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110
Cheers, ДХО


Привет У меня есть несколько строк в этом сценарии. Как только штрафом приговора он немедленно вернуть выдается поставить. более по нижеуказанному дополнительные линии он не уделяет. Я буду очень благодарен, если это сделать
Old 10-03-2008
krishna.fuji krishna.fuji is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2008
Сообщений: 5
Цитата:
Первоначально Послано krishna.fuji View Post
Привет У меня есть несколько строк в этом сценарии. Как только штрафом приговора он немедленно вернуть выдается поставить. более по нижеуказанному дополнительные линии он не уделяет. Я буду очень благодарен, если это сделать

[@ newtrans Кришна-тест ~] $ кота RAM1
Личный единица \u003d US003 (Industrial Products отдел), завод \u003d B00089, Departmant \u003d D110
Это моя собственная
Личный единица \u003d US003 (промышленное / Продукты отдел), завод \u003d B00089, Departmant \u003d D110
Нам нужно makfmkldfd
Личный единица \u003d US004 (Consumer Products Div) Ботва \u003d B00089, Departmant \u003d D1119
mdkmvckldmldm
Это для некоторых, когда идея нежелательных данных в файл
Личный единица \u003d US004 (Consumer Products Div), завод \u003d B00078, Departmant \u003d D111
Личный единица \u003d US006 (MFG машины отдел), завод \u003d B00089, Departmant \u003d D1188
Личный единица \u003d US007 (клеи отдел), завод \u003d B00089, Departmant \u003d D110
Личный единица \u003d US009 (клеи отдел)
Личный единица \u003d US010 (клеи отдел)

[@ newtrans Кришна-тест ~] $ SED -E '/ Персональные группы / (; H; S /^/#/ P; X;)'-E '/ Personal группы / (S /, завод / \ nPlant / G'-E 'S /, Departmant / \ nDepartmant / G ') RAM1
# Персональная группа \u003d US003 (Industrial Products отдел), завод \u003d B00089, Departmant \u003d D110
Личный единица \u003d US003 (Industrial Products отдел)
Ботва \u003d B00089
Departmant \u003d D110
Это моя собственная
# Персональная группа \u003d US003 (промышленное / Продукты отдел), завод \u003d B00089, Departmant \u003d D110
Личный единица \u003d US003 (промышленное / Продукция отдела)
Ботва \u003d B00089
Departmant \u003d D110
Нам нужно makfmkldfd
# Персональная группа \u003d US004 (Consumer Products Div) Ботва \u003d B00089, Departmant \u003d D1119
Личный единица \u003d US004 (Consumer Products Div) Ботва \u003d B00089
Departmant \u003d D1119
mdkmvckldmldm
Это для некоторых, когда идея нежелательных данных в файл
# Персональная группа \u003d US004 (Consumer Products Div), завод \u003d B00078, Departmant \u003d D111
Личный единица \u003d US004 (Consumer Products Div)
Ботва \u003d B00078
Departmant \u003d D111
# Персональная группа \u003d US006 (MFG машины отдел), завод \u003d B00089, Departmant \u003d D1188
Личный единица \u003d US006 (MFG машины отдел)
Ботва \u003d B00089
Departmant \u003d D1188
# Персональная группа \u003d US007 (клеи отдел), завод \u003d B00089, Departmant \u003d D110
Личный единица \u003d US007 (клеи отдел)
Ботва \u003d B00089
Departmant \u003d D110
# Персональная группа \u003d US009 (клеи отдел)
Личный единица \u003d US009 (клеи отдел)
# Персональная группа \u003d US010 (клеи отдел)
Личный единица \u003d US010 (клеи отдел)
[@ newtrans Кришна-тест ~] $

Наряду с этим, где я когда-либо расщепления этой строке нужно получить комбинацию значений
Нравиться
-> RAM: US007: B00089110: systendate: fileheader
Заключение
где бы мне найти
Личный единица \u003d US007 (клеи отдел), завод \u003d B00089, Departmant \u003d D110
сразу следующая строка должна быть
Личный единица \u003d US007 (клеи отдел), завод \u003d B00089, Departmant \u003d D110
Личный единица \u003d US007 (клеи отдел)
Ботва \u003d B00089
Departmant \u003d D110

-> RAM: US007: B00089110: systendate: fileheader

и важен этот скрипт должен коснуться только строки, которые имеют сочетание личных группы растений, департамент в одной строке
Если вы можете сделать это для меня большое спасибо

Последний раз редактировалось krishna.fuji; на 10-03-2008 02:29 AM..
Old 10-03-2008
danmero danmero is offline Forum Advisor  
  
 

Регистрация: Nov 2007
Место проведения: 45.48-73.63
Сообщения: 1421
Цитата:
Первоначально Послано krishna.fuji View Post
и важен этот скрипт должен коснуться только строки, которые имеют сочетание личных группы растений, департамент в одной строке
Забудьте о модных цветах, а также использование Код теги При публикации кода или данных.
Код:
awk -F, '{if(/Personal Unit/&&/Plant/&&/Departmant/){printf "# %s\n%s\n%s\n%s\n",$0,$1,$2,$3}else{print}}' file
Old 10-02-2008
danmero danmero is offline Forum Advisor  
  
 

Регистрация: Nov 2007
Место проведения: 45.48-73.63
Сообщения: 1421
Другая AWK решения.
Код:
awk -F'[(|,|)]' '/^Personal/{printf "%s\n%s\n%s\n",$1,$4,$5}' file
Closed Thread

Закладки

Теги
Linux команд

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

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

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

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




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


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