Gen IDレポートを作成していますが、現在アカウントをインポートするために使用しているコマンドは、必要なアカウントのほとんどをインポートしますが、明らかにegrep
Gen IDの一部が実行するように数字で終わるアカウントはインポートされません。
cat /etc/passwd | cut -d: -f1 | egrep '^[a-z]|^[A-Z]' | egrep '[a-z]$|[A-Z]$'
幸いなことに、私たちのユーザーアカウントはすべて同じパターン(1文字、6桁)に従います。sed
すべてのアカウントを印刷するにはどうすればよいですか?/etc/passwd
とは別に文字で始まり、6つの数字が来るのですか?
ベストアンサー1
grep -vE '^[[:alpha:]][[:digit:]]{6}:' /etc/passwd
/etc/passwd
アルファベット文字で始まり、その後に6桁の数字が続く行を除くすべての行が印刷されます:
。
重要なのは、行を印刷するオプションを-v
教えることです。grep
いいえパターンを一致させます。
ユーザー名だけが必要な場合:
cut -d : -f 1 < /etc/passwd | grep -vEx '[[:alpha:]][[:digit:]]{6}'
または以下を使用してsed
:
sed -n '/^[[:alpha:]][[:digit:]]\{6\}:/!s/:.*//p' /etc/passwd
!
もう一度これが意味するものは次のとおりです。いいえ。