56

Unixコマンド"abc.txt"の使用をやめようとしています。これは動的であることに/this/is/could/be/any/path/abc.txt注意してください。/this/is/could/be/any/path

何か案が?

4

4 に答える 4

81

bash

path=/this/is/could/be/any/path/abc.txt

パスにスペースが含まれている場合は、それをラップします"

path="/this/is/could/be/any/path/a b c.txt"

次に、パスを抽出するには、basename 関数を使用します。

file=$(basename "$path")

また

file=${path##*/}
于 2012-04-12T13:15:07.887 に答える
6

basename pathパスの末尾にファイル名を与える

編集:

コマンドの前後にバック クォーテーションを使用するのが一般的なパターンであることを追加する価値があるでしょう。

したがって、basename の結果を変数に代入するには、次を使用します。

x=`basename ...path...`

$x がファイル名になります。

于 2012-04-12T13:16:00.173 に答える
2

dirname コマンドを使用できます

$ dirname $path
于 2014-11-03T08:34:11.927 に答える
1

使用できますbasename /this/is/could/be/any/path/abc.txt

于 2012-04-12T13:15:14.947 に答える