Linux shell 中如何从路径名提取指定字符串

Linuxshell中如何从路径名提取指定字符串我要写一个shell脚本,首先需要从文件名目录名中提取一串字符,但是遇到难题。$PWD路径名为/home/lxy/hhhh... Linux shell 中如何从路径名提取指定字符串
我要写一个shell 脚本 ,首先需要从文件名目录名中提取一串字符,但是遇到难题。
$PWD
路径名为 /home/ lxy/ hhhhh-a.bbb.cc.d (格式类型固定)
其中 现在我只想要 a.bbb.cc 这一段。
其中 hhhhh- 格式固定
a.bbb.cc.d 这一段长度有浮动,但前面的 a. 和后面的 .d 是固定的
我需要的是 a.bbb.cc 这一段 ,试过很多办法,cut awf sed grep 都无果,急求高手解决……
展开
 我来答
百度网友5311d79
2012-09-06 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3216万
展开全部
以 - 为分隔符,用cut命令取第二个字段就行了啊(只要路径名里不含 - 即可)
echo "/home/lxy/hhhhh-a.bbb.cc.d" | cut -d'-' -f2

更保险一点的做法是先取出文件名(防止路径名里含 - ),然后再用上述方法处理:
echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}' | cut -d'-' -f2
114857509
2012-09-14 · TA获得超过105个赞
知道答主
回答量:42
采纳率:0%
帮助的人:33.2万
展开全部
[root@aiboap01 ~]# echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F'-' '{print $2}' | cut -f 1-3
-d'.'
a.bbb.cc
[root@aiboap01 ~]#
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whoami2099
2012-09-06 · TA获得超过175个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:171万
展开全部
echo /home/lxy/hhhhh-a.bbb.cc.d | awk -F"/" '{print substr($4,7,length($4)-8)}'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式