Intereting Posts
RHEL: настройка разрешения экрана виртуальной коробки Let’s Encrypt Expire Bot показывает другую дату, чем командная строка С учетом исключения ядра ATA, как определить, на какой физический диск влияет? Почему я не могу назвать эту программу своим полным путем? Linux обнаруживает sata ssd только с ACPI = off, но окна всегда делают Управление оконным стеклом только с помощью мыши Может ли «grub-emu» внести какие-либо изменения в мою систему? Могу ли я сделать символическую ссылку на разные местоположения на разных машинах? Замена процесса bash временным файлом Попытка перенаправить <enter> и второй ответ на скрипт linux shell Передать аргументы сценария bash в двойных кавычках скрипту php cli Linux не видит ни одного из моих разделов. Резервная таблица GPT не находится в конце диска Эвристика для использования или отклонения старой документации Решение проблемы с разрешениями в сценарии, используемом в качестве оболочки для входа? Как проложить маршрут с помощью iproute2, а не iptables?

Использование AWK добавляет новую строку, если существует совпадение

У меня есть файл со следующим форматом:

aaa@ bbb bbb@ ccc& ddddd@ aaaf ccc@ ddd& eee: abcd& dassda 

Выход должен быть:

 aaaa@ bbb bbb@ ccc& ddddd@ aaaf ccc@ ddd& eee@ abcd& dassda 

Как я смогу добиться этого с помощью AWK? Я пробовал sed и awk, но я могу напечатать только новую строку после делиметра, я не знаю, как распечатать все это на следующей строке.

sed:

 sed 's/& /\&\n/' file 

если вам нужно заменить all & на каждую строку, просто добавьте g после последнего / .

awk:

 awk '{ sub(/& /,"&\n"); print }' 

в случае необходимости заменить все & на каждой строке используйте gsub вместо sub .