Comando AWK simples para verificar se o caminho do diretório está escrito corretamente

3

O conjunto de caracteres de nome de arquivo portátil POSIX consiste nas letras maiúsculas de A a Z, as letras minúsculas a a z, os dígitos decimais de 0 a 9, o ponto final, o sublinhado e o hífen. Eu quero produzir um erro se o campo não for assim. Eu já posso verificar que o campo deve começar com um "/", mas estou tendo dificuldade em relatar erros para caracteres ilegais dentro do caminho de arquivo fornecido. O código que tenho:

{if ($6 !~ /[a-zA-Z0-9_\/.-]{0,100}$/) print NR ": ERROR The directory contains illegal characters" }

Isso não encontra caracteres ilegais e os informa como deveria. Entrada: / Bin ** / home Saída: aviso de caracteres ilegais encontrados (por causa do "**")

Procurando corrigir meu comando AWK.

    
por Seb 13.10.2016 / 03:48

1 resposta

3

que tal isso?

awk '$6~/[^a-zA-Z0-9_\/.-]/{print NR ":Illegal Characters"}' filename
    
por 13.10.2016 / 04:14

Tags