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

2025-02-25 06:05:37
推荐回答(3个)
回答1:

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

回答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 ~]#

回答3:

echo /home/lxy/hhhhh-a.bbb.cc.d | awk -F"/" '{print substr($4,7,length($4)-8)}'