0

我有以下目录结构 /home/ABCD/apple/ball/car/divider.txt/home/ABCD这就像我的应用程序的根目录,我可以很容易地得到它,并且从那里所有子文件夹可能每种情况都不同,所以我正在寻找一个通用程序,我可以通过一些循环提取路径

我想将目录结构提取到一个单独的变量中,如“/home/ABCD/apple/ball/car/” 谁能帮帮我

第二个例子:/home/ABCD/adam/nest/mary/user.txt 变量应该得到以下值 - “/home/ABCD/adam/nest/mary/”

4

2 回答 2

1

采用dirname

$ dirname /home/ABCD/apple/ball/car/divider.txt
/home/ABCD/apple/ball/car

分配给变量做

var=$(dirname /home/ABCD/apple/ball/car/divider.txt)
echo "$var"

前后没有空格=

于 2013-02-25T09:09:50.397 回答
1

如果需要结束斜线/,您可以选择一个:

kent$  echo "/home/ABCD/adam/nest/mary/user.txt"|grep -Po '.*/'        
/home/ABCD/adam/nest/mary/

或者

kent$  echo "/home/ABCD/adam/nest/mary/user.txt"|sed -r 's#(.*/).*#\1#'
/home/ABCD/adam/nest/mary/

或者

kent$  echo $(dirname /home/ABCD/adam/nest/mary/user.txt)"/" 
/home/ABCD/adam/nest/mary/
于 2013-02-25T09:16:14.047 回答