[已解决]怎么提取一个特定组的组号给一个变量

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

[已解决]怎么提取一个特定组的组号给一个变量

#1

帖子 fortruth » 2008-06-21 18:30

怎么提取一个特定组的组号给一个变量。

例如:把 man 组的组号 提取出来,作为 Ngrp 变量的值。

在/etc/group 中
man:x:12:

答案如下:

代码: 全选

grep man /etc/group|cut --delimiter=: -f3

代码: 全选

awk -F\: '/^man/{ print $3 }' /etc/group
上次由 fortruth 在 2008-06-22 17:31,总共编辑 9 次。
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2008-06-21 18:53

xxx=`grep man /etc/group|cut -f1`
大概这样。
● 鸣学
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#3

帖子 fortruth » 2008-06-22 8:52

eexpress 写了:xxx=`grep man /etc/group|cut -f1`
大概这样。
感谢 EE ,
但是,结果是 man:x:12:
不是我想要的 12。
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#4

帖子 fortruth » 2008-06-22 9:02

OK,我找到方法了,谢谢EE 的 cut 使用。
方法如下

代码: 全选

grep man /etc/group|cut --delimiter=: -f3
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#5

帖子 fortruth » 2008-06-22 9:20

eexpress 写了:xxx=`grep man /etc/group|cut -f1`
大概这样。
ee 啊 为什么我 echo $xxx 的结果就是 grep man /etc/group|cut -f1
而不是 man:x:12:
怎样作才能出现上面的结果。!?
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#6

帖子 solcomo » 2008-06-22 9:33

用这个``
不是引号
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#7

帖子 fortruth » 2008-06-22 10:40

solcomo 写了:用这个``
不是引号
这个是什么,在键盘中是什么健。
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#8

帖子 fortruth » 2008-06-22 10:42

我找到了是
~上下面的那个啊。!谢谢 solcomo。!
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#9

帖子 BigSnake.NET » 2008-06-22 11:19

代码: 全选

awk -F\: '/^man/{ print $3 }' /etc/group
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#10

帖子 fortruth » 2008-06-22 17:25

BigSnake.NET 写了:

代码: 全选

awk -F\: '/^man/{ print $3 }' /etc/group
这个也行,但是 MS 比 grep 更加像天书。
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#11

帖子 fortruth » 2008-06-22 18:03

在脚本中执行这句

代码: 全选

sudo printf "none    /proc/bus/usb    usbfs    devgid=%d devmode=664    0    0" $usbfsid >>/etc/fstab
输入密码后出错
/home/fortruth/Bin/usbfs: 5: cannot create /etc/fstab: Permission denied
这是怎么回事!!
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95
回复