Aqui está uma versão rápida e suja do awk
:
awk -F- '{print $1"/"$0}' input_file > output_file
O que ele faz é usar -
como separador de campo e imprime a primeira coluna (ou seja, tudo antes do primeiro -
), depois um /
e, em seguida, toda a linha original.
Uma maneira de fazer a mesma coisa com sed
seria:
sed -e 's;^\([^-]*\)\(.*\);/;' input_file > output_file
(mas isso dificilmente pode ser lido).
Se você quiser fazer isso em bash
, use as manipulações de string :
$ foo=AB-10C
$ prefix=${foo%%-*}
$ echo ${prefix}/${foo}
AB/AB-10C
Use isso em um loop while read
ou similar se os dados forem provenientes de um arquivo.