Analisar um arquivo como este é melhor feito com awk
:
awk -F, '{ print $2 }' file
ou cut
,
cut -d, -f 2 file
Isso lhe daria "category/subcategory/sub-subcategory/item-1"
(incluindo as aspas) dos dados que você forneceu.
Com sed
e utilizando a expressão regular que você forneceu (mas com \w
substituído por [[:alnum:]]
):
sed -E 's@.*,"([[:alnum:]]+(/[[:alnum:]-]+)+)",.*@@' file
Isso substitui a linha inteira pelo bit que corresponde à expressão regular no primeiro conjunto de parênteses. Isso retorna category/subcategory/sub-subcategory/item-1
para os dados que você forneceu.
Para uma análise de arquivos CSV mais geral, incluindo o tratamento correto de citações e campos que podem conter vírgulas ou aspas duplas, use csvkit
:
csvcut -c 2 file