(Translated by https://www.hiragana.jp/)
dirname - Wikipedia コンテンツにスキップ

dirname

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

dirname標準ひょうじゅんUNIXコンピュータプログラムである。dirnameパスあたえると、その最後さいごにあるスラッシュ ('/') 文字もじはじまる接尾せつび削除さくじょしたものを結果けっかとしてかえす。dirnameSingle UNIX Specification記述きじゅつされておりおもシェルスクリプト使つかわれる。


使つかかた

[編集へんしゅう]

dirnameのSingle UNIX Specification仕様しようによると、以下いかのようなコマンドである。

dirname string
string
パス

dirnameはのちつづくスラッシュを無視むしすることでパスめいからディレクトリパスめい抽出ちゅうしゅつする。

$ dirname /home/carpetsmoker/docs/base.wiki
/home/carpetsmoker/docs
$ dirname /home/carpetsmoker/docs/
/home/carpetsmoker
$ dirname base.wiki 
.
$ dirname /
/

パフォーマンス

[編集へんしゅう]

dirnameは1つのオペランドしかれないので、シェルスクリプトの内部ないぶループない使用しようするとパフォーマンスに有害ゆうがいとなる可能かのうせいがある。

 while read file; do
     dirname "$file"
 done < some-input

上記じょうきれいではにゅう力行りっこうごとにプロセスをしてしまう。このため、通常つうじょうはシェル置換ちかんわりに使用しようする。

 echo "${file%/*}";

また処理しょり必要ひつようとする関連かんれんパスめい同様どうようである。

 if [ -n "${file##*/*}" ]; then
     echo "."
 else
     echo "${file%/*}";
 fi

これらの処理しょりのちつづくスラッシュをdirnameとはことなって処理しょりすることに注意ちゅういすること。

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]
  • dirname: return the directory portion of a pathname – The Open Group基本きほん仕様しようしょだい7ごう2018年版ねんばん「シェルおよびユーティリティ」