[英]How to remove a specific key form a string in shell script
我需要從字符串中刪除以下划線為后綴或前綴的特定鍵,並且需要將新字符串存儲到變量中。 此鍵可能出現在字符串的開頭或字符串的末尾或中間有下划線,並且字符串可能包含特殊字符
String Result
AA_B_676.csv.gz AA_B.csv.gz
676_AA_B.csv.sgnl AA_B.csv.sgnl
AA_B.csv_676 AA_B.csv
AA_B.csv.sgnl_676 AA_B.csv.sgnl
您可以使用變量替換:
${var/pattern/replace}
例子
#!/bin/bash
testdata=(
AA_B_676.csv.gz
676_AA_B.csv.sgnl
AA_B.csv_676
AA_B.csv.sgnl_676
)
for str in "${testdata[@]}"; do
str="${str/_676/}"
str="${str/676_/}"
echo "$str"
done
輸出
AA_B.csv.gz
AA_B.csv.sgnl
AA_B.csv
AA_B.csv.sgnl
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.