Понадобилось мне из нескольких строк почтового конфига вырезать домены и сформировать строку для regex:
awk -F. '{print $2}' <example2.mc >domains.txt
cat domains.txt
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
Формирую строку для regex:
paste -s -d'|' domains.txt
hinet|asianet|earthlink|steephost|ttnet|verizon|pacbell|ress|chello|mtu-net|SteepHost
То же самое с.п. tr (лишний последний | вижу - это не беда):
cat domains.txt|tr '\n' '|' >domains2.txt
cat domains2.txt
hinet|asianet|earthlink|steephost|ttnet|verizon|pacbell|ress|chello|mtu-net|SteepHost|
Ради академического интереса пробую обратное преобразование - оно работает!
cat domains2.txt|tr '|' '\n'
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
Теперь то, что ПО ПРИВЫЧКЕ пробовалось изначально для замены символов, но почему-то не работает в прямом преобразовании:
sed 's/\n/|/g' <domains.txt
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
sed 's/\x0A/|/g' <domains.txt
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
Но в обратном-то оно работает !!!
sed 's/|/\n/g' <domains2.txt
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
sed 's/|/\x0A/g' <domains2.txt
hinet
asianet
earthlink
steephost
ttnet
verizon
pacbell
ress
chello
mtu-net
SteepHost
В чем тут дело?
P.S. Еще раз повторюсь, что для замены символов первое, что всегда приходит в голову - это sed. Про существование tr & paste забываю всегда напрочь и применяю только после googling'a по инету или спец. тетрадке, в которую записываю интересные решения.
Ответ на:
комментарий
от uspen
Ответ на:
комментарий
от AS
Ответ на:
комментарий
от AS
Ответ на:
комментарий
от fagot
Ответ на:
комментарий
от AS
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум заменить строку sed (2017)
- Форум sed: заменить первые n вхождений в строке (2016)
- Форум Sed заменить n пустых строк на одну (2008)
- Форум [ненависть]sed: заменить строки (2010)
- Форум [sed] Заменить каждое n-ное вхождение (2011)
- Форум sed: удалить '\n' в некоторых строках (2015)
- Форум Как заменить переносы строки симолами «\n»? (2016)
- Форум sed: удалить '\n' в паре строк через строку (2013)
- Форум [java] Откусить от конца строки n символов (2010)
- Форум Прочитать n-ю строку от конца файла (2015)