As partes que você não deseja têm uma barra e três caracteres.
A parte que você deseja manter também começa com uma barra e tem mais de três caracteres, mas o terceiro caractere é um sublinhado, então excluímos todas as partes que parecem com /XXX
, mas não /XX_
Isso deixa a barra inicial da parte que queremos manter, então, finalmente, também excluímos essa barra.
sed 's|/..[^_]||g; s|^/||' </tmp/f1
Explicação:
O comando sed é composto de dois s
(comandos substitutos) separados por ;
. Como temos barra na expressão regular, eu uso s|...|...|
em vez do s/.../.../
regular
Ambos os comandos substitutos têm a segunda parte vazia - substitua por nada = delete essa parte. O primeiro usa um g
para global, em outras palavras, faça isso repetidamente até que não haja nada para substituir.
O [^_]
corresponde a qualquer coisa, exceto um sublinhado.
T