![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Привет
У меня есть файл, который имеет строку ниже Личный единица \u003d AU003 (Industrial Products отдел), завод \u003d B00089, Departmant \u003d D110 Если я когда-либо тонкой линии, начиная sith Личный группы и содержит растений департамента Мне нужно выбрать эту линию и отформатировать его как Личный единица \u003d AU003 Ботва \u003d B00089 Departmant \u003d D110 -> RAM: AU003: B00089 110: система дата: заголовок файлаЯ использовал SED SED -E '/ Персональные группы / (; H; S /^/#/ P; X;)'-E '/ Бизнес-единица / (S /, завод / \ nPlant / G'-E 'S /, Departmant / \ nDepartmant / G ') FileName Но это не мое fullfilling всем нужно Может ли какая-либо одна просьба предложить |
|
||||
|
AWK Что вы можете сделать что-то вроде:
Код:
awk -F, '/^Personal Unit=/&&/Plant/&&/Departmant/{sub("\(.*\)","")}{print $1 OFS $2 OFS $3}' OFS="\n" file
|
|
||||
|
его не точный вывод, какие мы ожидали
Цитата:
Привет У меня есть несколько строк в этом сценарии. Как только штрафом приговора он немедленно вернуть выдается поставить. более по нижеуказанному дополнительные линии он не уделяет. Я буду очень благодарен, если это сделать |
|
||||
|
Цитата:
[@ 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: B00089 110: 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: B00089 110: systendate: fileheaderи важен этот скрипт должен коснуться только строки, которые имеют сочетание личных группы растений, департамент в одной строке Если вы можете сделать это для меня большое спасибо Последний раз редактировалось krishna.fuji; на 10-03-2008 02:29 AM.. |
|
||||
|
Цитата:
Код:
awk -F, '{if(/Personal Unit/&&/Plant/&&/Departmant/){printf "# %s\n%s\n%s\n%s\n",$0,$1,$2,$3}else{print}}' file
|
|
||||
|
Другая AWK решения.
Код:
awk -F'[(|,|)]' '/^Personal/{printf "%s\n%s\n%s\n",$1,$4,$5}' file
|
![]() |
| Закладки |
| Теги |
| Linux команд |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|