我有线
var=2 (0 (1 "a" "b")) (1 (2 "a" "b")) (2)
我想提取两个 a 并将它们放入字符串 x 并提取两个 b 并将它们放入另一个字符串 y 中。这只是一个示例,但引号内的字符串可以是任意长度。我也有一个想法来制作一个数组,这样
array[0] = a
array [1] = b
array[2] = a
array[3] = b
我需要这样做的代码是什么?
如果您需要替换字符串 x 而不是 a 和字符串 y 而不是 b?
请通过“vi”编辑器打开包含上述行的文件,
:%s/a/x/g <-- to replace string x instead of string a
:%s/b/y/g <-- to replace string y instead of string b
谢谢。
# This puts the quoted strings into $1 to $4:
set `echo 'var=2 (0 (1 "a" "b")) (1 (2 "a" "b")) (2)'|
sed 's/.*"\(.*\)".*"\(.*\)".*"\(.*\)".*"\(.*\).*".*/\1 \2 \3 \4/'`
# This puts them into $x and $y afterwards:
x="$1 $3"
y="$2 $4"