avatar
s*e
1


广

一月,太懒了,什么也没照。。
二月,
午后
三月
野花
四月
Rock
五月
落日 凑数
六月
女儿
七月
谁的手?
八月
无题 凑数
九月
用光练习
十月
nothing
十一月
秋色 凑数
十二月
Cozumel Beach
谢谢,请多提意见
avatar
d*e
2
请教个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
多谢
avatar
w*p
3
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
avatar
d*e
4
原来可以用awk
好像awk比sed要powerful
thanks!

BEGIN

【在 w******p 的大作中提到】
: 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

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。