Answers:
其他几种方式:
sed
sed 's/.*(\(.*\))/\1/' file
佩尔
perl -pe 's/.*\((.*)\)/$1/' file
要么
perl -lanF"[()]" -e 'print $F[1]' file
要么
perl -pe 's/.*\((.+?)\).*/$1/;' file
awk
awk -F"[()]" '{print $2}' file
贝壳
while IFS="()" read a b; do echo "$b"; done < file
-F
允许您选择awk将用于将行拆分为字段的字符。在这里,我给它一个字符类([]
),其中包含左括号和右括号。因此,将分为上线(
和上)
。结果,第二字段将成为括号的内容。例如,用字符串G8 = P(G1,G3)foo
,$1
会G8 = P
,$2
会G1,G3
和$3
会foo
。
sed 's/^.*(//;s/)$//' /path/to/file
要对此进行分解:
sed
是s
筹款人ed
。 's/^.*(//;s/)$//'
是要发送到的脚本sed
,其分解如下:
s/^.*(// substitute nothing for the beginning of any line (`^`) followed by anything up until an open-paren (`(`)
s/)$// substitute nothing for a close-paren (`)`) followed immediately by the end of a line