0

/home/ABCD/apple/ball/car/divider.txtとして次のディレクトリ構造があります 。/home/ABCDこれは私のアプリのルート ディレクトリのようなものです。簡単に取得でき、そこからすべてのサブ フォルダを作成できます。ケースごとに異なるため、いくつかのループを介してパスを抽出できる汎用プログラムを探しています

ディレクトリ構造を「/home/ABCD/apple/ball/car/」として別の変数に抽出したいのですが、 誰か助けてくれますか

2 番目の例: /home/ABCD/adam/nest/mary/user.txt 変数は次の値を取得する必要があります - 「/home/ABCD/adam/nest/mary/」

4

2 に答える 2

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 に答える
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 に答える