Como você pode extrair strings apenas com palavras conectadas com um sublinhado, mas sem números no Prompt de Comando. ("grep -o" é o preferido para usar)
"id";"string";"string":
"11";"tomato_banana_apple";"8"
"14";"error_book_10_table_206";"1_apple_peach"
Portanto, quero que a string da segunda coluna fique sem dígitos. A primeira e a última coluna podem, no entanto, conter dígitos.
A saída deve ser:
"11";"tomato_banana_apple";"8"
Até agora, tentei:grep -o "[a-z]+_[a-z]+" filename.csv
Com expressões regulares básicas
\+
, você precisa corresponder a uma ou mais. São expressões regulares estendidasgrep -E
( ) que usam+
sem barra invertidaTem certeza de que deseja a
-o
opção? Dada a saída desejada, sugiro que não.Dependendo se você deseja apenas a string correspondente ou não, você pode fazer:
OU
Ou use a
-P
opção para PCRE:Explicação: