由买买提看人间百态

topics

全部话题 - 话题: 1204905442
(共0页)
d******e
发帖数: 143
1
来自主题: Linux版 - a sed question
请教个SED的用法
我有一些LOG文件,每一行的格式是一样的
我要把第5个field作一下运算再附在一起,如下
turn lines like this:
E,1204905442,3006,238,83888208,126586,N,0059221,T,K
into:
E,1204905442,3006,238,83888208[2128],126586,N,0059221,T,K
我感觉应该用这些shell,sed之类的应该挺容易的,可是写出来发现要用sed两次,很郁闷
不知道如何对匹配的部分直接运算一下
for s in $(cat $1)
do
errcode=$(echo $s | sed 's/E,[0-9]*,[0-9]*,[0-9]*,\([0-9]*\),.*/\1/')
errcode=$(($errcode % 65536))
echo $s | sed 's/\(E,[0-9]*,[0-9]*,[0-9]*,\)\([0-9]*\)\(,.*\)/\1\2['$errcode
']\3/'
done
多谢
w******p
发帖数: 166
2
来自主题: Linux版 - a sed question
use awk:
$ echo E,1204905442,3006,238,83888208,126586,N,0059221,T,K | awk -F\, 'BEGIN
{OFS=","}{$5=$5"["(""+$5 % 65536)"]";print $0}'
E,1204905442,3006,238,83888208[2128],126586,N,0059221,T,K
(共0页)