我想知道如何删除此表达式的“<”和“>”之间的所有内容:
i`< 1| | 1> -1.0000000000000
结果可能是这样的:
i-1.00000000
我尝试使用 awk 但只能删除“>”的右侧或部分的左侧
awk -F '>' '{print $2}'
此致
答案1
通过管道传输数据sed
:
... | sed -e 's/<.*>//'
正则表达式匹配“ <
”,后跟任意数量的任意字符,后跟“ >
”,并将其替换为空字符串“ //
”。
答案2
我会用sed
:
$ echo 'i< 1| | 1> -1.0000000000000' | sed 's/<[^-]*//'
i-1.0000000000000
答案3
您可以使用正则表达式FS
for awk
,并打印匹配项之前和之后的字段:
echo 'i< 1| | 1> -1.0000000000000' | awk -F'<[^>]*> *' '{print $1 $2}'
答案4
echo 'i< 1| | 1> -1.0000000000000' |perl -pe 's/<.*>//;s/\s+/ /'
:)