0
我試圖輸出文件路徑的某些部分,但刪除文件名和路徑的某些級別。bash顯示包含路徑的變量的部分
目前我有一個for循環做了很多事情,但我從完整的文件路徑創建一個變量,並希望去掉一些位。
例如
for f in (find /path/to/my/file - name *.ext)
會給我
$f = /path/to/my/file/filename.ext
我想要做的是printf的/回聲一些變量。我知道我可以做:
printf ${f#/path/to/}
my/file/filename.ext
但我想刪除的文件名,結了:
my/file
有沒有簡單的方法來做到這一點,而不必使用SED/AWK等?
可能出現[從文件路徑獲取文件目錄路徑](http://stackoverflow.com/quest/6121091/get-file-directory-path-from-filepath) –
嘗試使用'$ {f%/ *}'去除文件名(類似於'dirname'內建)。 (你應該確保在移除之前還有更多的''/''或之後檢查零長度) –