que tal isso?
awk '$6~/[^a-zA-Z0-9_\/.-]/{print NR ":Illegal Characters"}' filename
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.
Tags awk