我想從bash中的目錄名稱中合成一個字符串。我需要提取最後兩個路徑名來創建一個字符串。提取path元素在bash中創建一個字符串
例如,輸入/a/b/c
時,我想使「b_c_HELLO」。
我該怎麼用bash做到這一點?
我想從bash中的目錄名稱中合成一個字符串。我需要提取最後兩個路徑名來創建一個字符串。提取path元素在bash中創建一個字符串
例如,輸入/a/b/c
時,我想使「b_c_HELLO」。
我該怎麼用bash做到這一點?
使用basename
和dirname
:
parent=$(dirname "$input")
output=$(basename "$parent")_$(basename "$input")_HELLO
echo $PATH|awk -F"/" '{print $(NF-1)"_"$NF"_HELLO";}'
一個純粹的bash實現借力Parameter Expansion:
input="a/b/c"
tmp="${input%%/*/*}"
tmp="${tmp#$tmp/}"
output="${tmp/\//_}_HELLO"