如何匹配除最后一个之外的所有

时间:2012-06-13 10:53:13

标签: regex bash

我有一大堆文件,如下所示:

/tmp/a/b/a
/var/files/z
/tmp/o
.
.
.

我需要在每一行中匹配所有目录,但不匹配文件名。 我怎么能用bash来做呢?

2 个答案:

答案 0 :(得分:2)

如果您假设每个路径都以文件结尾,那么您只需使用dirname

dirname /var/files/z
/var/files

如果您混合使用文件和目录,则可以在运行-d之前使用bash的-fdirname file test operators进行检查。

答案 1 :(得分:2)

击:

path="$(pwd)"
echo "$path"
echo "${path%/*}"