當 x 包含末尾包含 / 的目錄名稱時,如何洗掉最后一個路徑,包括 csh 中的 / 模式?
這是一個例子。
% set x=a/b/c
% echo $x:h
a/b
% set x=a/b/c/
% echo $x:h
a/b/c
所以當 x 是“a/b/c/”時,我想制作“a/b”。如何使用變數修飾符來做到這一點?(在 csh 中)
我也很好奇如何在 bash 中做到這一點。${x%/ } 將生成“a/b/c”,而 ${x%%/ } 將生成“a”。
添加:當然我可以預處理輸入檔案以在末尾洗掉 / ,例如 sed -e '1,$s/\/$//g' file > file.1; \mv file.1 file' 但我很好奇是否可以使用變數修飾符。
uj5u.com熱心網友回復:
您可以通過以下dirname(1)任何方式捕獲輸出csh:
$ dirname a/b/c
a/b
$ dirname a/b/c/
a/b
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340898.html
