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 Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
преобразование формата даты mohan705 Shell программирование и сценарии 7 05-22-2008 11:10 AM
преобразование текста в формате CSV gthokala Shell программирование и сценарии 13 06-09-2006 10:44 AM
конвертирования PDF в текст, RTF DOC формат saurya_s UNIX перспективных И опытных пользователей 1 04-23-2004 03:25 PM
Конвертирование BMP в БМ (или других Unix-формат) ЭДж \u003d) UNIX Desktop для чайников Вопросы И Ответы 1 06-12-2002 08:42 AM
Преобразование дата создания файла в новом формате barney_clough UNIX для чайников Вопросы И Ответы 1 06-12-2002 07: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 03-18-2008
zer0dvide zer0dvide is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 3
переноса конфигурационного файла в формате CSV

Здравствуйте,

За 2 дня я уже был поиск путей урегулирования этого. В настоящее время я начинаю сомневаться это еще возможно. Это еще сложнее, когда вы не знаете, как искать его. (ключевые слова, которые генерировать достаточно релевантности т.д..)

Мне нужно разобрать один конфигурационный файл, чтобы создать файл в ответ.
Он должен принять эти параметры из файла:

определить хост (

host_name Хоста
Родители hostNull
)
--
определить хост (

host_name hostB
Родители Хоста
)
--
определить хост (

host_name hostC
Родители hostB
)
--

и создать так:

принимающих родителей
Хоста, hostNull
hostB, Хоста
hostC, hostB

Кто-нибудь знает решение этой или может кто-то момент меня некоторые документ, объясняющий, как?
Old 03-18-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Регистрация: Декабрь 2007
Место проведения: Дом 17-чемпион мира Бостон Celtics
Сообщений: 1311
Wink Один из подходов к попытке ...

Из того, что вы предоставили информацию, это один подход.

Цитата:
> Кота образца
определить хост (

host_name Хоста
Родители hostNull
)
--
определить хост (

host_name hostB
Родители Хоста
)
--
определить хост (

host_name hostC
Родители hostB
)
Код:
> cat bld_csv 
#! /bin/bash

echo "host,parent" >host.csv
while read zf
  do
  hck=$(echo "$zf" | cut -d" " -f1)
  if [ "$hck" = "host_name" ]
    then
    hnm=$(echo "$zf" | cut -d" " -f2)           
  fi
  if [ "$hck" = "parents" ]
    then
    pnm=$(echo "$zf" | cut -d" " -f2)
    echo $hnm","$pnm >>host.csv
  fi

done < sample
Цитата:
> Кота host.csv
принимающих родителей
Хоста, hostNull
hostB, Хоста
hostC, hostB
Old 03-18-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4300
Другой подход:

Код:
awk ' 
BEGIN{print "host,parent"}
/host_name/{p=$2;getline;print p","$2}
' sample
Привет
Old 03-18-2008
ShawnMilo ShawnMilo is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 252
А Perl Одна-лайнер

Код:
$ cat temp.txt | perl -ne 'chomp; print "host,parent\n" if $. == 1; print $_ if $_ =~ s/^host_name\s+(.*)$/$1/;  print ",$_\n" if $_ =~ s/^parents\s+(.*)$/$1/;'

host,parent
hostA,hostNull
hostB,hostA
hostC,hostB
1. Печать заголовков на первой строке ввода.

2. Версия для печати имя хоста, если найден (без строки)

3. Распечатать запятую, имя родителя, и строки, когда родитель находится.

ShawnMilo
Old 03-18-2008
summer_cherry summer_cherry is online now Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Месторасположение: Пекин Китай
Сообщения: 1079
Код:
nawk 'BEGIN{RS="--";n=1;host[n]=sprintf("host,parent")}
{
n=n+1
host[n]=sprintf("%s,%s",$4,$6)
}
END{
for(i=1;i<=n;i++)
if(host[i]!=",")
print host[i]
}
' filename
Old 03-19-2008
faltooweb faltooweb is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 11
переноса конфигурационного файла в формате CSV

AWK '
BEGIN (Print "принимающих родителей")
/ host_name / (printf "% S",, $ Н.Ф.; getline; печать $ Н.Ф.)
'$ INFILE

-Рамеш
Closed Thread

Закладки

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

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

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

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




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