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:
-
awkpara 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-
printpara imprimir toda a linha de entrada (alternativamente,print $3apenas imprimirá a coluna # 3)
-
-
... file1.csvespecifica ler de um arquivo de entrada em vez de stdin