|
|
1
0
第二个捕获组(索引1)将
|
|
|
2
5
也许只是
注意关键部分
还要注意,提取的用户名不是整个匹配,而是第一组(由
|
|
|
3
2
最好的答案取决于你想要达到的目标。如果您想知道拥有该文件的用户,那么您可以使用stat命令,不幸的是,根据操作系统,它的语法略有不同,但是以下两个命令可以工作 最大操作系统/X
红帽/软呢帽/Centos
如果您真的想要字符串跟在/home/users后面,那么上面提供的任何一个regex都会这样做,您可以在bash脚本中使用它,如下所示(mac os/x)
|
|
|
4
1
检查 http://rubular.com/r/84zwJmV62G . 第一个匹配,而不是整个匹配,是用户名。 |
|
|
5
1
在Bourne壳中,类似于: string="/home/users/STRINGWEWANT/some/subdir/here"
echo $string | awk -F\/ '{print $3}'
将是一个选项,假设它始终是路径的第三个元素。更轻的是只使用外壳内置: echo ${x#*users/}
将删除“用户/之前的所有内容 echo ${y%%/*}
将去掉其余部分。 所以要把它们放在一起: export path="/home/users/STRINGWEWABT/some/other/dirs"
export y=`echo ${path#*users/}` && echo ${y%%/*}
STRINGWEWABT
同时,检查bash手册页并搜索“参数扩展” |
|
|
sk123 · Shell脚本-如何在循环中显示变量名及其值 2 年前 |
|
|
sai · unix中使用python进行数据重组 2 年前 |
|
|
FangQ · 如何使用jq打印由制表符“\t”分隔的JSON数组元素 2 年前 |
|
|
ROHAN · 我想显示包含一个括号的行,包括它的开头或结尾 2 年前 |
|
Geomicro · 删除模式sed之间的逗号 2 年前 |