0
A
回答
3
如果您的系統提供了一個「目錄名稱」命令,你可以:
set i = `dirname ~/foo/bar.c`
echo $i
注意在變量名前失蹤$。這個解決方案雖然是shell不可知的。
0
使用dirname
命令,例如:
set i = `dirname "~/foo/bar.c"`
注意周圍路徑引號。包含它們很重要。如果您跳過引號,則dirname
將對包含空格的路徑失敗。介意~/
表達式的計算結果被執行之前dirname
,如果不使用引號和主路徑包括空格從而即使在這種簡單的例子可能會失敗。
當然,同樣的問題也適用於所有其他命令,始終爲的環繞參數是帶引號的命令的良好做法。
0
echo $i | awk -F"/" '{$NF="";print}' OFS="/"
1
我發現這樣做在等待答案,這裏的道:
set i = ~/foo/bar.c
echo $i:h
結果:
~/foo
1
對於完全,獲取文件名與基名的命令來完成:
set j = `basename ~/foo/bar.c`
echo $j
1
這裏是如此從上面mething不同:
可用的tcsh中,但其他一些炮彈AFAIK
> set i = ~/foo/bar.c
> echo ${i:t}
bar.c
> echo ${i:h}
/home/erflungued/foo
0
使用dirname "$i"
事實上,並沒有${i:h}
。
如果$i
僅包含文件名(無路徑),則後者不會生成預期結果,而dirname
正確返回當前目錄.
。
> set i = bar.c
> echo ${i:h}
bar.c
> dirname "$i"
.
相關問題
- 1. 從路徑剝離文件名(但僅當路徑指向文件時)
- 2. 如何通過文件標籤剝離package.xml中的路徑?
- 3. 從csv文件中剝離「$」
- 4. 如何nginx的剝離上下文路徑,zuul和OAuth合併
- 5. 如何從包含完整文件路徑的字符串在perl中分離文件名和文件路徑
- 6. WebSeal JSF上下文路徑剝離結點名稱
- 7. 如何從絕對路徑剝離basedir以獲取相對路徑?
- 8. 如何從tcsh中的pwd中提取部分路徑?
- 9. 如何從文件路徑名中提取文件名?
- 10. 如何從路徑獲取文件名?
- 11. 如何從Python中的文件名替換(或剝離)擴展名?
- 12. 的Javascript文件名功能/ .HTML剝離
- 13. 從url中剝離文本
- 14. SQLite:從路徑中分離文件擴展名
- 15. 從文件的路徑和文件名
- 16. 從vb.net的LoggedInTemplate中剝離域名
- 17. 如何從文件路徑中提取文件名
- 18. 如何從文件路徑中提取文件名?
- 19. 如何僅從路徑中提取文件/文件夾名稱?
- 20. 修改類路徑UNIX(tcsh)
- 21. TCSH腳本完整路徑
- 22. 路徑中的文件名
- 23. 如何從製造文件中的變量剝離參數
- 24. 從文件名剝離php時間戳,如果存在
- 25. 如何從ls中獲取全名,路徑和文件名?
- 26. C# - 如何從路徑中提取文件名和擴展名?
- 27. 從文件名獲得文件路徑
- 28. 從文件路徑獲取文件名
- 29. 如何從文件路徑獲取父文件夾的名稱?
- 30. 從路徑中刪除文件名