чтение из файла и изменение его шаблона в массив?

Как я понимаю, Вам нужны окна, и Linux Mint получают сотрудничество. Во-первых, найдите первый конфигурационный файл (я имею в виду grub.conf), который имеет рабочую конфигурацию для окон, строки конфигурации копии, после той личинки установки с Живого CD, берут рабочую конфигурацию для Linux, добавляют новые строки к первой конфигурации и заменяют его на Вашем компьютере. Это должно работать на Вас.

Если у Вас будут какие-либо проблемы, посмотрите пример здесь

1
24.02.2013, 12:51
2 ответа

Эти после функций являются хорошим началом. foo считает содержание файла CSV и заполнит массив IP-адресов, которые будут проверены на каждом повторении так, чтобы ssh не будет выполняться с тем же IP несколько раз.

# Usage: inarray "$value" "${array[@]}"
inarray()
{ 
    local n=$1 h; shift
    for h; do 
        [[ $n = "$h" ]] && return
    done
    return 1
} 

# Usage: foo "$csv_file_name"
foo()
{
    local ips=() arr=() filename="$1"
    { read; while IFS= read -r line; do
        IFS=, read -ra arr <<< "$line"
        if ! inarray "${arr[0]}" "${ips[@]}"; then
            # Do whatever you want with "${arr[@]}"
            # Example for arr:
            # arr[0]=10.192.168.1, arr[1]=vlan-xyz, arr[2]=3
            ips+=("${arr[0]}")
        fi
    done; } < "$filename"
}
1
27.01.2020, 23:39

Походит на задание для Perl:

#!/usr/bin/perl

use strict;
use warnings;

my $input_file=shift//die "No input file name given.\n";
open my $if,'<',$input_file or die "Couldn't open $input_file: $!\n";

my %ip_data;

<$if>; # Throw away the header

while(<$if>){
    my ($ip,$vlan,$vlan_id)=split /\s*,\s*/;
    push $ip_data{$ip}, <<EOI;
int VLAN $vlan
switchport access vlan  $vlan_id
wr
EOI
}

close $if;

for my $ip (sort keys %ip_data){ #Fork-exec an SSH process for each IP address:
    my $pid = fork;
    $pid ? () : exec "ssh user@$ip \"$ip_data{$ip}\"";
}

Сохраните этот сценарий в файл, сделайте его исполняемым файлом (chmod +x script_file) и назовите его как так:

$ ./script_file inputfile

Два комментария:

  • Вышеупомянутый код не тестируется: используйте по своему собственному усмотрению.
  • Я совет второго jippie: настроенный ключевой вход в систему SSH.
1
27.01.2020, 23:39

Теги

Похожие вопросы