После того, как я увидел решение, использующее цикл for
с awk
и sort
, и uniq
, и grep
, и sed
, я попробовал решение с одним инструментом вместо шести:
sed ':a
N;$!ba
y/\n_/_\n/;s/^/_/
:b
s/\(_[^_]*_{\)\([^}]*\)\(_[^_}]*\)\(_[^}]*\)\(_}.*\)\1\([^}]*\)\3_/\1\2\3\4\5\1\6_/;tb
:c
s/\(_[^_]*_{\)\([^}]*\)_}\(.*\)\1\([^}]*\)_}/\1\2\4_}\3/;tc
s/^_//
y/\n_/_\n/' yourfile
выполняет свою работу, но я должен признать, что регулярные выражения легче писать, чем читать... (-;
То, что вы хотите сделать, невозможно.
Когда вы набираете `sudo systemctl start proton -run.service', ваш скрипт запускается в собственной оболочке с использованием отдельного процесса. Подсказка никогда не появится в вашей оболочке.
Возможным решением было бы передать аргументы systemctl, которые будут переданы базовому сценарию.
Вот несколько идей, как это сделать:https://superuser.com/questions/728951/systemd-giving-my-service-multiple-arguments