Я хочу, чтобы заменить этотМогу ли я заменить запятую строку с конкретным шаблоном
192.168.1.100,192.168.1.101,192.168.1.102
в
server 192.168.1.100;server 192.168.1.101;server 192.168.1.102;
с SED команды в Linux.
Я хочу, чтобы заменить этотМогу ли я заменить запятую строку с конкретным шаблоном
192.168.1.100,192.168.1.101,192.168.1.102
в
server 192.168.1.100;server 192.168.1.101;server 192.168.1.102;
с SED команды в Linux.
Это можно сделать с помощью двух подстановок, сначала вставить «сервер» (это «сервер», за которым следует пробел) сразу после всех вхождений начала строки или запятой, а во-вторых, заменить все вхождения запятая или конец строки с точкой с запятой.
sed -E 's/(^|,)/&server /g; s/(,|$)/;/g;' <<<'192.168.1.100,192.168.1.101,192.168.1.102';
## server 192.168.1.100;server 192.168.1.101;server 192.168.1.102;
Делайте это в три этапа:
server
.sed 's/,/;/g ; s/$/;/ ; s/([0-9.]*;)\;/server \1/g'
Вот простой sed
решение с использованием одной замены:
sed 's/\([^,]*\),\?/server \1;/g'
По крайней мере, поставить некоторые усилия в. – 123