Прочитать столбец из файла и добавить определенный столбец другого файла

Выполнение iptables команды от командной строки только изменяют под управлением конфигурацию. В зависимости от того, как Вы настраиваете iptables для сохранения конфигураций в /etc/sysconfig/iptables-config, Ваша конфигурация могла бы все еще сохраненный в сохраненном в файле /etc/sysconfig/iptables/iptables.save Восстановить конфигурацию, сохраненную в этом выполненном файле:

# iptables-restore /etc/sysconfig/iptables.save

Если у Вас нет сохраненной конфигурации, можно установить ВХОДНУЮ политику по умолчанию принять путем выполнения

# iptables -P INPUT ACCEPT
2
23.07.2015, 17:55
3 ответа

Вот один из способов с awk :

$ awk -F, 'NR==1{nf=NF-1; print $0; FS=" "} \
         NR>2{printf("%s%.*s%s\n",$1,nf,",,,,,,,,,,,,,,,,,",$2)}' fileA fileB

Name,Site Name,Product UPEI,Product Name,NMS Flag,Product Model, SW
ABC,,,,,,4.4
ASD,,,,,,4.3

Важнейшей частью является printf , где мы печатаем первое и третье поля из файлаB, разделенные , , номер которого равен взято из первого файла как nf = NF-1 .

2
27.01.2020, 21:56
tail -n+2 fileB | sed -r 's/[[:space:]]+/,,,,,,/' | cat fileA - > Output

Объяснения

tail -n +2 fileB записывает конец fileB, начиная со второй строки, так как мы хотим проигнорировать первую строку.

sed, используя -r, --regexpxp-extended (для + мета-символ, означающий 'хотя бы одну ') заменяет первую группу интервальных символов на ожидаемое количество запятых, как в вашем примере. В конце концов

cat соединяет fileA и данные, полученные из sed по каналу, называемому -, и записывает их в stdout, который по вашему запросу перенаправляется в файл Output.

Ограничения

Не будет работать, если в колонках NE_Name или SW есть пробелы.

2
27.01.2020, 21:56

Другой подход sed :

$ sed 's/   */,,,,,,,/;/NE_/d' fileA fileB
Name,Site Name,Product UPEI,Product Name,NMS Flag,Product Model, SW
ABC,,,,,,,4.4
ASD,,,,,,,4.3

Первая команда sed заменяет 3 или более пробелов на 7 запятых, а вторая удаляет все строки, соответствующие NE_ .

1
27.01.2020, 21:56

Теги

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