簡體   English   中英

Shell腳本:在變量中添加一個字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM