POSIXly:
$ sed -e 's/-[^-]*-/-/' file
leng-001
leng-002
leng-004
leng-005
leng-006
Eu tenho vários arquivos para renomear
leng-1494-001
leng-1464-002
leng-2414-004
leng-7894-005
leng-1323-006
Eu quero renomeá-lo
ferr-1494-001
ferr-1464-002
ferr-2414-004
ferr-7894-005
ferr-1323-006
Eu sei como fazer para ferr e leng, mas como substituir caracteres de 6 a 10 (1464,7894) com linha em branco, por exemplo, ou string como aaaa bbbb cccc usando sed? Também solução awk ou perl é bem vinda. Obrigado
Usando sed:
sed -r 's/(.*[a-zA-Z]{4}\-)([0-9]{4})/aaaa/g'
Eu encontrei uma solução usando a função de substring perl
echo leng-1323-006|perl -lpe 'substr($_, 5, 5) = "";'
retornar corretamente
leng-006
Eu removi da posição 5 os 5 caracteres ruins incluem o -