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. 如何通過文件標籤剝離package.xml中的路徑?
- 2. 如何nginx的剝離上下文路徑,zuul和OAuth合併
- 3. 如何從包含完整文件路徑的字符串在perl中分離文件名和文件路徑
- 4. 如何從絕對路徑剝離basedir以獲取相對路徑?
- 5. 如何從文件路徑名中提取文件名?
- 6. 如何從路徑獲取文件名?
- 7. 如何從Python中的文件名替換(或剝離)擴展名?
- 8. SQLite:從路徑中分離文件擴展名
- 9. 從vb.net的LoggedInTemplate中剝離域名
- 10. 如何僅從路徑中提取文件/文件夾名稱?
- 11. 如何從文件路徑中提取文件名?
- 12. TCSH腳本完整路徑
- 13. 如何從製造文件中的變量剝離參數
- 14. 從文件名獲得文件路徑
- 15. 從文件路徑獲取文件名
- 16. 如何從文件路徑獲取父文件夾的名稱?
- 17. 從路徑中刪除文件名
- 18. 從文件名中刪除路徑
- 19. glob.iglob從文件名中刪除路徑
- 20. 如何從路徑中獲取文件名的詞幹?
- 21. 如何從OpenFileDialog中提取文件的路徑名?
- 22. 如何從使用Perl的路徑中提取文件名?
- 23. PDF文件從iPhone剝離MFMailComposeViewController調用
- 24. 如何從文件名獲取文件路徑和目錄?
- 25. 如何從字符串中剝離&?
- 26. 如何從Ruby文件路徑中獲得文件名無擴展名
- 27. 從巨大的文本文件中剝離文本塊
- 28. 正則表達式 - 從文件名剝離(1)
- 29. 剝離pcap文件中的radiotap標題
- 30. 如何從路徑中提取文件名?