[英]Shell Script: Add a character in a variable
我想添加一個字符變量。
我有一個文件路徑 y/photos/family/kids.jpg。
它當前分配給變量 $kidsReal
我喜歡它是 Y:/photos/family/kids.jpg(它需要識別照片來自 Y 驅動器 (Y:)
到目前為止,我有(???是我被卡住的地方):
#!/bin/bash
#find the kids.jpg back one directory and into the family directory
kids=$(find .. -type f -path *family*/* -name *kids.jpg)
#convert to absolute path
kidsReal=$(realpath ${kids})
#add : between y and / to complete path
kidsRealMod= ???
在一天結束時,這個變量只需要作為一個文件路徑被讀取,以插入到一個命令中,該命令也將被編碼到腳本中。
謝謝,如果這個簡單的問題還需要其他任何細節,請告訴我。
使用 bash 和正則表達式:
kidsReal='y/photos/family/kids.jpg'
[[ "$kidsReal" =~ (.)(.*) ]] && kidsRealMod="${BASH_REMATCH[1]^}:${BASH_REMATCH[2]}"
echo "$kidsRealMod"
^
將變量中的第一個字符轉換為大寫。
輸出:
Y:/photos/family/kids.jpg
請參閱:堆棧溢出正則表達式常見問題解答
此外,您可以使用${str:from:to}
將字符串分成兩部分,然后使用':'
再次連接它。
str="Y/photos/family/img.png";
new_str=${str:0:1}:${str:1}
echo $new_str
輸出:
Y:/photos/family/img.png
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.