linux 下獲得當前目錄,上級目錄,資料夾名
阿新 • • 發佈:2019-01-23
$PWD /pwd 當前目錄
dname= $(dirname "$PWD") 上級目錄
basename '$PWD' 當前資料夾名
!=====以下轉載
刪除包含特定字元的行:
g/pattern/d
刪除不包含指定字元的行:
v/pattern/d
使用 ## 拆分變數
${var##pattern} 可以從 $var 變數中,去掉可以匹配 pattern 最大長度的字串,所以,要獲得目錄名,可以:
cd /var/log/squid
echo ${PWD##*/}
squid
$PWD 是儲存目錄完整路徑的環境變數,pattern 就是 */,也就是去掉了前面所有的上級目錄。
使用 awk 和 rev
cd /usr/share/cups/data
pwd | rev | awk –F \/ '{print $1}' | rev
data
把結果分步顯示,你就知道原理了:
pwd
/usr/share/cups/data
pwd | rev
atad/supc/erahs/rsu/
pwd | rev | awk –F \/ '{print $1}'
atad
pwd | rev | awk –F \/ '{print $1}' | rev
data
-F 選項是指定分隔符,目錄之間分隔符為 /。
使用 sed
cd /home/smith/music
pwd | sed 's,^\(.*/\)\?\([^/]*\),\2,'
music
第一個 pattern,^\(.*/\)?,匹配 / 符號前所有的東西,第二個 [^/]* ,匹配剩餘部分不包含 / 的部分。