Moje sed to:
sed '/(.*:)/d' <<< 'abcd:bcde:cdeaf'
To musi wrócić,
bcde:cdeaf
(tj.) wszystkie znaki przed pierwszym dwukropkiem w linii i sam dwukropek muszą zostać usunięte.
Ale to niczego nie usuwa.
Moje zamieszanie powstaje głównie z powodu
1) Czy pareny do dopasowywania wzorów muszą być usuwane w wyrażeniach regularnych sed?
2) W obu przypadkach (z ucieczką / bez ucieczki), to nie działa. Próbowałem,
sed -E '/\\(.*:\\)/d' <<< 'abcd:bcde'
printf "%s\n" "${line#*:}"
...
while read line
jest taki $line
, prawdopodobnie sed
powinien być preferowany.
sed 's/[^:]*://'
. I nie maszd
eleting linię wejściową, nawiasem mówiąc, jesteś modyfikując go zs///
polecenia ubstitution. Musisz zastąpić pierwszy bit, który nie jest dwukropkiem, i dwukropek, który za nim podąża, niczym.