不为数字且不为点号的字符都替换为空(去除)。
反之,用grep过滤出数字和点号也可以。
echo "bw=1234.5KB/s" | grep -oE "[0-9.]+"awk也行:
echo "bw=1234.5KB/s" | awk -F"(=)|(KB)" '{print $2}'1、用sed匹配3位以上的数字2、[root@server28 ~]# more a.txt
021
23
898990
314159265358975
3、[root@server28 ~]# sed -nr '/^[[:digit:]]{3,}$/p' a.txt|grep -v ^0
21312
898990
314159265358975
如果是脚本语言就很简单,perl 中的正则表达式很容易的,#!/usr/bin/perl -w
use strict
my %hash
while(<>){
if(/(\S+)*\s=*\s(\S+)/){
my($address,$file)=($1,$2)
$hash{$address}=$file
}
}
print "$hash{recordType}\|$hash{servedIMSI}\n"
print "$hash{sgsniPBinV4Address}\|$hash{chargingID}\n"
如果你要使用shell的话,直接写匹配就行啦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)