我有以下變數
var="text1 value1.text value2"
我想在變數中每個單詞的開頭和結尾添加特定字符
Τ他想要的結果我希望它是以下
[text1] [value1.text] [value2]
到目前為止,我只能在所有變數內容中添加文本
echo [$var]
輸出
[text1 value1.text value2]
你能幫我怎么做嗎
最好用awk
uj5u.com熱心網友回復:
你可以使用這個awk:
awk '{for (i=1; i<=NF; i) $i = "[" $i "]"} 1' <<< "$var"
[text1] [value1.text] [value2]
或者沒有回圈的 gnu-awk 解決方案:
awk -v RS='[[:space:]]' '{$0 = "[" $0 "]"; ORS=RT} 1' <<< "$var"
[text1] [value1.text] [value2]
uj5u.com熱心網友回復:
目前尚不清楚您是要更改 的值var還是只輸出var添加方括號的內容,因此請選擇:
$ var='text1 value1.text value2'
$ echo "[${var// /] [}]"
[text1] [value1.text] [value2]
$ var="[${var// /] [}]"
$ echo "$var"
[text1] [value1.text] [value2]
uj5u.com熱心網友回復:
printf "[%s] " "$var"
缺點:輸出中有一個尾隨空格。
uj5u.com熱心網友回復:
set -f
var="text1 value1.text value2"
printf -v var "[%s] " $var
echo "${var% }"
輸出:
[text1] [value1.text] [value2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/407361.html
標籤:
