ディレクトリパスが正しく作成されたことを確認する簡単なAWKコマンド

ディレクトリパスが正しく作成されたことを確認する簡単なAWKコマンド

POSIX移植可能なファイル名文字セットは、大文字A〜Z、小文字a〜z、小数点数0〜9、ピリオド、アンダースコア、およびハイフンで構成されています。フィールドがこれと等しくない場合は、エラーを生成したいと思います。フィールドが "/"で始まる必要があることはすでに確認できますが、指定されたファイルパスで無効な文字に関するエラーを報告することは困難です。私のコード:

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

違法文字を見つけて報告するわけではありません。入力:/ Bin ** / home出力:警告無効な文字が見つかりました(「**」のため)。

AWKコマンドを修正したい。

ベストアンサー1

これはどうですか?

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

おすすめ記事