Em que sistema operacional Linux você está? Tente usar egrep
se você quiser usar expressões regulares em sistemas cuja versão do grep está desatualizada (por exemplo, Solaris).
De qualquer forma, aqui está uma solução para o awk:
awk -F, '$2 ~ /jpn|por/ {print}' file1.csv > file2.csv
Explicações:
-
awk
para operações baseadas em coluna -
-F,
para definir o separador de coluna / tokenizer, neste caso eu uso uma vírgula -
$2 ~ /jpn|por/
testa a coluna # 2 com a expressão/jpn|por/
-
$2
é a coluna # 2 -
/jpn|por/
é uma expressão regular para corresponder a jpn ou por
-
-
{
print
}
especifica o que o awk deve gerar se encontrar uma linha correspondente-
print
para imprimir toda a linha de entrada (alternativamente,print $3
apenas imprimirá a coluna # 3)
-
-
... file1.csv
especifica ler de um arquivo de entrada em vez de stdin