読者です 読者をやめる 読者になる 読者になる

Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【tcsh】パス付きファイル名を代入しているシェル変数から拡張子を取り除く、パスだけを取り出す、など

変数修飾子を使えばよい。それぞれ以下のとおり。

:r フルパスからファイル名の拡張子だけを取り除く
:h フルパスからファイル名を取り除く
:t フルパスからパスを取り除いてファイル名だけにする
:e フルパスから拡張子以外を取り除く

これらはいずれもcshの基本機能。もちろん、tcshでも使える。以下、実行例。

# set fullpath=/home/ore/image.jpg
# echo $fullpath
/home/ore/image.jpg
# echo $fullpath:r
/home/ore/image
# echo $fullpath:h
/home/ore
# echo $fullpath:t
image.jpg
# echo $fullpath:e
jpg

なお、UNIX C SHELLフィールドガイドには、これについての説明がある。

 UNIX C SHELLフィールドガイド