我有一個字串。比如說
STR=" Hello, World I'm new here "
而我想收到的是一個像這樣的陣列
"Hello, "
"世界"。
"我是新來的"。
或者至少是可迭代的東西,這樣我就可以迭代這些 "詞 "并對它們進行操作。謝謝!
uj5u.com熱心網友回復:
當你不介意一個使用更多步驟的解決方案時,你可以使用
echo " Hello, World I'm new here " |
/g' | grep -Eo "[^ ]*" | sed 's/
/g'
少了一個管子,就會使重碼變得更加復雜:
echo " Hello, World I'm new here" |
grep -Eo "([^ ]*([] )*) [^ ]*" | sed 's/ / g'
使用GNU sed,你可以有一個不同的方法:
echo " Hello, World I'm new here " |
sed -z 's/ /g; s/ /g; s/ /g; s/ /g.
/g; s/
/ /g'| grep .
uj5u.com熱心網友回復:
你可以簡單地使用read。
$ STR=" Hello, World I'm new here "。
$ read -a x <<< "$STR"。
$ declare -p x
declare -a x=([0]="Hello," [1]="World" [2]="我是新人")
標籤: 下一篇:無法在層碰撞矩陣中選擇玩家和敵人read像往常一樣對它的輸入進行分詞;-a選項使每個詞被存盤為陣列中的一個單獨的元素,而不是將詞存盤在單個變數中。read的默認行為是將轉義序列替換為它們所代表的字符:在這種情況下,' '/code>代表' '/code>。
