亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從文件路徑獲取文件目錄路徑

從文件路徑獲取文件目錄路徑

斯蒂芬大帝 2019-12-09 14:32:58
如果在Bash中,VAR="/home/me/mydir/file.c"我如何獲得"/home/me/mydir"?
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

dirname以及basename您正在尋找的提取路徑分量的工具:


$ VAR=/home/me/mydir/file.c


$ DIR=$(dirname "${VAR}")


$ echo "${DIR}"

/home/me/mydir


$ basename "${VAR}"

file.c

他們不是內部的Bash命令,但他們是POSIX標準的一部分(見dirname,basename)等應可在絕大多數將要運行bash的系統。


查看完整回答
反對 回復 2019-12-09
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

$ export VAR=/home/me/mydir/file.c

$ export DIR=${VAR%/*}

$ echo "${DIR}"

/home/me/mydir


$ echo "${VAR##*/}"

file.c

為了避免對basename和的依賴dirname


查看完整回答
反對 回復 2019-12-09
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

值得一提的是,如果只有文件名或相對路徑,那么單獨使用dirname將無濟于事。對我而言,答案最終是readlink。


fname='txtfile'    

echo $(dirname "$fname")                # output: .

echo $(readlink -f "$fname")            # output: /home/me/work/txtfile

然后,您可以將兩者結合起來以獲得目錄。


echo $(dirname $(readlink -f "$fname")) # output: /home/me/work


查看完整回答
反對 回復 2019-12-09
  • 3 回答
  • 0 關注
  • 713 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號