Описание тега tarantulas
У меня есть CSV-файл именования список.CSV-файл
в следующем формате:
Местоположение,IP-адрес,имя хоста,домен,доменное имя, Имя пользователя,производитель,модель,Тип системы, серийный номер, операционная система,ОЗУ (ГБ),Тип процессора,частота процессора
Н1,ХХ.ХХ.ХХ.ХХ,ПК1,domain.com,домен,пользователя user1,компания Lenovo,4089AZ8,x 86-разрядных ПК,L90RA96,для Microsoft Windows 7 профессиональная ,2,Пентиум(Р) двухъядерный процессор E5800,3.20 ГГц
Н3,ХХ.ХХ.ХХ.ХХ,РС2,domain.com,домен,Пользователь2,компания Lenovo,4089AZ8,x 86-разрядных ПК,L906W3P,для Microsoft Windows 7 профессиональная ,2,Пентиум(Р) двухъядерный процессор E5800,3.20 ГГц
Н2,ХХ.ХХ.ХХ.ХХ,РС3,domain.com,домен,Пользователь3,компания Lenovo,4089A76,x 86-разрядных ПК,L929410,для Microsoft Windows 7 профессиональная ,2,Пентиум(Р) двухъядерный процессор E5400,2.70 ГГц
Н2,ХХ.ХХ.ХХ.ХХ,ПЦ4,domain.com,домен,Пользователь4,Хьюлетт-Паккард,Z800 для 64-разрядных ПК,SGH007QT16,система Microsoft Windows 7 профессиональная ,12,Интел(Р) процессоры(Р) процессора W5590,3.33 ГГц
Если вы посмотрите на модель
колонны, несущие некоторые ценности, которые не интерпретировать наименование модели. Я создал еще один файл, модель-списка.CSV-файл
, который содержит эти ценности и соответствующие им названия моделей. Это выглядит примерно так :
Производитель,Стоимость,Название Модели
Компания Lenovo, 4089AZ8, компьютере
Компания Lenovo, 4089A76, компьютере
Компания HP Z800 для компании HP Z800 для рабочей станции
Я хочу, чтобы значения в списке.с CSV -
файл нужно заменить на соответствующее название модели присутствуют в модели-список.КШМ
. Как есть 2900+ элементов в список.КШМ
и около 150 элементов в модели-список.в CSV
файл, я планировал добиться этого с помощью bash-скрипт, который выглядит следующим образом:
#!/бин/Баш
файл1="список.КШМ"
файл2=модель-лист".КШМ"
файл outfile="List_out.КШМ"
stagingfile="список-постановка.КШМ"
РМ -Ф "$выходной_файл" "$stagingfile"
пока чтение строки
делать
ModelNo=`Эхо "$строка"|на awk -F' с' '{печати $2}"
Параметр modelname=`Эхо "$строка"|на awk -F' с' '{печати $3}"
кошки "$файл1"|грэп ",$ModelNo," > "$stagingfile"
если [ -с "$stagingfile" ]
тогда
пока читал строка1
делать
Новая строка=строка`Echo "$строка1"|СЭД "ы/,${ModelNo},/,${параметр modelname},/г"
Эхо "$строки" >> "$выходной_файл"
сделано < "$stagingfile"
РМ -Ф "$stagingfile"
интернет
сделано < "$файл2"
Когда сценарий выполняется, "$выходной_файл"
содержит почти 40-50 дополнительных записей по сравнению с списком.КШМ
.
Ничего плохого со скриптом?