dT*blog

design and programming

ディレクトリ名だけを取得する

カレントディレクトリへのパスではなくて、その名前だけを取得する方法が思い出せぬ。

文字列操作で強引に攻めても良いんだけど、きっとスマートな方法があるはず。そう思い始めてから1時間あまり。2年前の自分メモを見つけて、ようやく思い出した。そうそう、これこれ。

${PWD##*/}

これで、カレントディレクトリのパスについて、その先頭から「*/」パターンの最長マッチ部分が取り除かれ、無事ディレクトリ名だけを取得できる。おー、すげー、暗号かコレは。

ついでに、この周辺技をメモ。

# 先頭から最長マッチ
${param##word}

# 先頭から最小マッチ ${param#word}
# 末尾から最長マッチ ${param%%word}
# 末尾から最小マッチ ${param%word}

「word」が展開されて検索パターンが生成される。このパターンが「param」とマッチする場合、該当部分を取り除くことができるというシェル技。

bashの基本っぽいけど、このあたりは深いなあ。

Posted by dT by 22:09

トラックバック

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt/mt-tb.cgi/334

コメント




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30