Não é possível usar a conclusão de tabulação ao usar o awk na linha de comando

0

Estou tentando separar um arquivo delimitado por tabulação usando o awk.

awk -F'\t' -v OFS="\t" '{if ($5=="Pattern") print $0}' My_file

Eu tive um problema que não posso usar a conclusão de tabulação com a opção " -v OFS=" \ t "". Sempre que o comando contiver " -v OFS=" \ t "" (seja a única opção ou em combinação com outra opção), não posso usar o preenchimento de tabulações para o nome do arquivo.

Quando eu uso:

awk -F'\t' '{if ($5=="Pattern") print $0}' My_file

A conclusão da tabulação funciona bem.

E, às vezes, quando eu uso o seguinte comando:

awk -v OFS='\t' '{if ($5=="Pattern") print $0}' My_file

Haverá erro:

bash: unexpected EOF while looking for matching '''

bash: syntax error: unexpected end of file

Quando colo o nome do arquivo, mas não pela conclusão da tabulação, o comando realmente funciona.

Alguém pode me dizer o que estou fazendo de errado?

Obrigado!

    
por Yichao Cai 07.10.2016 / 05:53

1 resposta

0

Tente isso:

awk 'BEGIN{FS="\t"; OFS="\t"}{if ($5=="Pattern") print $0}' My_file

Se eu entendi o seu problema, isso deve funcionar.

    
por 07.10.2016 / 10:37