Предполагая, что внутри полей csv с двойными кавычками нет запятых, мы можем сделать следующее в простом sed
коде:
sed -ne '
s/,/&\n/2;s/\n[^,]*,//;h
n;s/.*,//;H
n;s/.*,//;H
g;s/\n/,/gp
' yourfile.csv
"1","toto corp","+123456789","+198765432","totocorp.com"
"2","Namek corp","+14377678563","+19867334565","Namekcorp.com"
Я понимаю, что это поздно, но я надеюсь, что это поможет.
В Azure файл конфигурации агента Linux (waagent.conf )обычно устанавливает точку подключения, и вы делаете это оттуда для большинства поддерживаемых дистрибутивов Linux. Обычно вы найдете точку монтирования по умолчанию как «/mnt/resource»
.Однако в Ubuntu 16.04+ облачная -инициализация переопределяет конфигурацию точки монтирования waagent.conf ephemeral0, а также fstab при каждом освобождении/запуске. Еще,вы можете указать точку монтирования несколькими способами, которые сохранятся после перезагрузки или освобождения/запуска. Я расскажу о них ниже.
Теперь ответим на ваши вопросы:
вопрос 1 :Должен ли я просто переместить пользовательскую точку за пределы /mnt? Я думаю, что вам, вероятно, следует, если вы монтируете что-то в /mnt, поскольку вы, вероятно, не хотите монтировать что-то во временную. диск, если вы не собираетесь это делать.
вопрос 2 :что делает облако -init и можно ли от него избавиться? Я думаю, что вам не следует избавляться от него. Вместо этого вы можете попробовать правильно настроить точку монтирования.
Как заставить его сохраняться? Предположим, вы хотите смонтировать временную среду Azure. диск в /mnt/resource.
Способ 1 (очистить ):Создать новое облако -init conf. файл в /etc/cloud/cloud.cfg.d для определения точек монтирования:
cat >> /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF
mounts:
- [ ephemeral0, /mnt/resource ]
EOF
Способ 2 (грязный ):Удалить облако -параметры инициализации монтирования из временн. запись диска fstab, чтобы она выглядела так:
/dev/disk/cloud/azure_resource-part1 /mnt auto defaults,nofail 0 2
Метод 3 (противный ):Найдите строку точки монтирования в cc _mounts.py, путь:/usr/lib/python3/dist-packages/cloudinit/config/cc_mounts.py
и измените точку монтирования в коде. Строка должна выглядеть как:
defmnts = [["ephemeral0", "/mnt", "auto", defvals[3], "0", "2"],
["swap", "none", "swap", "sw", "0", "0"]]
Попробуйте и посмотрите, что получится.
простой обходной путь, который я нашел, просто после редактирования файла /etc/fstab
установите chattr +i /etc/fstab
, таким образом облако -init не сможет перезаписать его