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

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 都无果,急求高手解决……
最新回答
顾北清歌寒

2024-04-20 00:03:57


-
为分隔符,用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