Perl-подход:
$ perl -lne '$sq="\x27";push @a,$sq.$_.$sq;END{ print join( ",",@a) }' input.txt
'act','bat','cat','dog','eel'
sq
, и для каждой строки, считываемой из файла, мы заключаем ее в одинарные кавычки a
,
Python использует тот же подход:
$ python -c 'import sys;sq="\x27";print ",".join([ sq + l.strip() + sq for l in sys.stdin ])' < input.txt
'act','bat','cat','dog','eel'
stdin
через оператор оболочки <
\n
с помощью метода полосы, цитируемого с помощью той же идеи, что и в Perl-подходе [item for item in iterable]
структуру (, известную как понимание списка)",".join()
позволяют создать красивую строку из всех элементов списка По предложению blissini я прошел через все службы, изменив свой файл resolv.conf. Оказалось, что мне нужен resolvconf для systemctl start openvpn-client@my_config.int
для правильной работы (, поскольку он не обновляет resolv.conf ), но когда я попытался использовать сетевой менеджер, он конфликтовал с resolvconf. Удаление этого пакета помогло