Моя команда sed:
sed '/(.*:)/d' <<< 'abcd:bcde:cdeaf'
Він повинен повернутися,
bcde:cdeaf
(тобто) всі символи перед першою двокрапкою у рядку та самій двокрапці повинні бути видалені.
Але це нічого не знімає.
Моя плутанина виникає головним чином через
1) Чи потрібно уникати паронів для узгодження зразків усередині sedge регулярних виразів?
2) У будь-якому випадку (із втечею / без втечі) це не працює. Я намагався,
sed -E '/\\(.*:\\)/d' <<< 'abcd:bcde'
printf "%s\n" "${line#*:}"...
while read lineщо отримує $line, мабуть, sedслід віддати перевагу.
sed 's/[^:]*://'. І ви неdвибираєте рядок введення, до речі, ви модифікуєте його за допомогоюs///команди ubstitution. Ви повинні замінити перший не двокрапковий шматочок, а двокрапку, що слідує за ним, взагалі нічого.