替換字符串我有型有自己的子慶典
.. 23 { ..
我想要的結果的字符串應該像
.. { "No":"23" ..
我需要爲此在bash腳本。請幫忙。提前致謝。
需要其替換解決方案DD {所有出現與{ 「否」: 「DD」。 'd' 是數字
替換字符串我有型有自己的子慶典
.. 23 { ..
我想要的結果的字符串應該像
.. { "No":"23" ..
我需要爲此在bash腳本。請幫忙。提前致謝。
需要其替換解決方案DD {所有出現與{ 「否」: 「DD」。 'd' 是數字
隨着sed
:
sed 's/\(23\)\s*{/{"No":"\1"/g' file
更新:
sed 's/\([0-9]\+\)\s*{/{"No":"\1"/g' file
使用bash。
http://www.linuxjournal.com/content/bash-regular-expressions
有這個網站的腳本這表明你如何處理與匹配正則表達式。
我只是把它複製到這個答案。
#!/bin.bash
if [[ $# -lt 2 ]]; then
echo "Usage: $0 PATTERN STRINGS..."
exit 1
fi
regex=$1
shift
echo "regex: $regex"
echo
while [[ $1 ]]
do
if [[ $1 =~ $regex ]]; then
echo "$1 matches"
i=1
n=${#BASH_REMATCH[*]}
while [[ $i -lt $n ]]
do
echo " capture[$i]: ${BASH_REMATCH[$i]}"
let i++
done
else
echo "$1 does not match"
fi
shift
done
匹配兩位數字,隨後通過任何數目的空間和{
$ s=".. 35 { .."
$ [[ $s =~ ([0-9][0-9])\ *\{ ]]
$ ms="${s/${BASH_REMATCH[0]}/{ \"No\":\"${BASH_REMATCH[1]}\"}"
$ echo "$ms"
.. { "No":"35" ..
$ s=".. 23 { .."
$ [[ $s =~ ([0-9][0-9])\ *\{ ]]
$ ms="${s/${BASH_REMATCH[0]}/{ \"No\":\"${BASH_REMATCH[1]}\"}"
$ echo "$ms"
.. { "No":"23" ..
匹配一個或多個數字,隨後通過任何數目的空間和{
$ s=".. 25233 { .."
$ [[ $s =~ ([0-9]+)\ *\{ ]]
$ ms="${s/${BASH_REMATCH[0]}/{ \"No\":\"${BASH_REMATCH[1]}\"}"
$ echo "$ms"
.. { "No":"25233" ..
需要與內容替換的溶液所有出現的** DD {** with ** {「No」:「DD」**。 'D'是數字。 –
@ user3317927,看我的更新。 – sat
謝謝救了我的一天。 :) –