এই গ্রুপের নামের আইডি কী?


27

গ্রুপ আইডি জিআইডি কীভাবে গ্রুপের নাম দিবেন।

আউটপুট উদাহরণস্বরূপ হবে:

Group adm with GID=4

উত্তর:


41

ব্যবহার করুন getentপ্রক্রিয়াকরণ গোষ্ঠী এবং ব্যবহারকারীর তথ্য জন্য কমান্ড পরিবর্তে নিজে পড়ার /etc/passwd, /etc/groupsইত্যাদি সিস্টেম নিজেকে ব্যবহার /etc/nsswitch.confযেখানে এটি থেকে তার তথ্য পায়, এবং ফাইল সেটিংস অন্যান্য উত্স মাধ্যমে ওভাররাইড করা যেতে পারে সিদ্ধান্ত নিতে। getentএই কনফিগারেশন মান্য। getentফাইলগুলি একই ফর্ম্যাটে তথ্য উত্স হিসাবে বিবেচনা করেই মুদ্রণ করে, যাতে আপনি আউটপুটকে একইভাবে পার্স করতে পারেন ঠিক একইভাবে /etc/passwd:

getent group sudo | awk -F: '{printf "Group %s with GID=%d\n", $1, $3}'

মনে রাখবেন যে, ব্যবহারকারীর জন্য এটি আরও সহজ easier ব্যবহার id:

$ id -u lightdm
105

ঠিক আছে, = এর awkচেয়ে কম perl)
এবি

20

এটি কেবল এর মাধ্যমে করা যেতে পারে cut:

$ cut -d: -f3 < <(getent group sudo)
27

getent group sudosudoথেকে গ্রুপ সম্পর্কিত লাইন পাবেন/etc/groupফাইল :

$ getent group sudo
sudo:x:27:foobar

তারপরে আমরা সীমাবদ্ধ তৃতীয় ক্ষেত্রটি নিতে পারি :

আপনি যদি সেই অনুযায়ী আউটপুট স্ট্রিং চান তবে এর মধ্যে কমান্ড প্রতিস্থাপন ব্যবহার করুন echo:

$ echo "Group sudo with GID="$(cut -d: -f3 < <(getent group sudo))""
Group sudo with GID=27

% echo "Group cdrom with GID="$(cut -d: -f3 < <(getent group sudo))"" Group cdrom with GID=27, দয়া করে আরও কিছু জেনেরিক =)
এবি

1
প্রক্রিয়া বিকল্প কেন? এর সাথে কী হয়েছে GID="$(getent group cdrom | cut -d: -f3)"?
কোস

@ কোস, আমি অবশ্যই সাবশেলে জিনিস চালানো পছন্দ করি না যতক্ষণ না .....
হিমাইল

@ এএব সম্পাদিত ...
হিমাইল

তবে এটি পজিক্স ...: '(না, কেবল রসিকতা করছি, আমি সত্যই পার্থক্যটি জানতাম না + +1
কোস

1

আরও জটিল উত্তরগুলি সর্বদা প্রশংসা করা হয় - আমি সেগুলি বেশ সততার সাথে পড়া থেকে অনেক কিছু শিখি।

আমি এই পৃষ্ঠায় এসেছি কারণ আমি আমার মেইল ​​গোষ্ঠীর গ্রুপ আইডি খুঁজছিলাম এবং সেই তথ্যটি কোথায় সঞ্চিত ছিল তা অবগত ছিল না।

আপনার উত্তরগুলি দুর্দান্ত - আমি এখানে এসেছি এমন একটি সহজ

Def @ fourof4: / হোম $ বিড়াল / ইত্যাদি / গ্রুপ | গ্রেপ মেইল

মেইল: X: 8:

আমি জানি এটি আইডিটি বাছাই করে না তবে এটি আমার উদ্দেশ্যটি কার্যকর করেছে।

ব্লককোট এটি চেষ্টা করুন: awk -F: '/ sudo / {GID = "$ 3}' / ইত্যাদি / গোষ্ঠী সহ" গোষ্ঠী "$ 1" মুদ্রণ করুন - এপ্রিল 23 '15 15:51 এ ব্লককোট

আমি উল্লেখ করেছি এটির পাশাপাশি এটিও উল্লেখ করা আছে .... প্রত্যেকে আমার ভালবাসা পেয়ে যায় - দুঃখিত যদি আমি আপনাকে মিস করি

এটিই আমাকে সেই ফাইলটিতে পরিচালিত করেছিল।
ধন্যবাদ এবং আপনার ইচ্ছামত যে কোনও ফর্মে আমাকে চমৎকার খাওয়ান! Def


0

perlওয়ান-লাইনার ব্যবহার :

% perl -ne '@elements=(split /:/); printf "Group %s with GID=%s\n",$elements[0],$elements[2]' <<< $(getent group sudo)
Group sudo with GID=27

বা আরও ছোট (এবং আরও ভাল)

% perl -F/:/ -ane 'printf "Group %s with GID=%s\n",$F[0],$F[2]' <<< $(getent group sudo)
Group sudo with GID=27

2
খুব নিশ্চিত পার্ল আপনার জন্য বিভাজন করতে পারে, আমি মনে করি -Fবা -lবিকল্পটি এটি করে।
মুড়ু

0

প্রয়োজনীয় একটি হ্যাক: (এখনও সম্ভবত আরও ভাল উত্তর আছে)

awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep "group-name"

সহজ সংস্করণ (@ এফ ধন্যবাদ):

awk -F\: '/sudo/ {print "Group " $1 " with GID=" $3}' /etc/group 

উদাহরণ:

$ awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep sudo 
Group sudo with GID=27

1
এটি চেষ্টা করুন:awk -F\: '/sudo/ {print "Group " $1 " with GID=" $3}' /etc/group
এবি

দেখুন UUOC
কস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.