分页: 1 / 1

请教如何截取文件

发表于 : 2011-03-10 10:08
chenjun
请教一个问题,如何截取如下文件

代码: 全选

192.168.0.166.54800 192.168.0.167.80
192.168.0.166.49477 192.168.0.167.21
让他输出成如下文件

代码: 全选

192.168.0.166 192.168.0.167 80
192.168.0.166 192.168.0.167 21
大伙帮忙看看,能实现不

发表于 : 2011-03-10 12:07
chenjun
问题解决了,有两种方法可以实现预期的效果
方法一:

代码: 全选

sed 's/\.[0-9]\+//4;s/\./ /7'
方法二:

代码: 全选

awk -v FS="[.| ]" '{sub(FS $5,"");sub(FS $NF," "$NF)}1'
我原本是想参考别人给的例子,自己来截取文件如

代码: 全选

Nov 20 13:34:09.4438 192.168.0.166.54800 192.168.0.167.80:
成为

代码: 全选

Nov 20 13:34:09.4438 192.168.0.166 192.168.0.167 80
但发现功力不够,还是通过其他高手的帮忙得以解决

代码: 全选

sed 's/\.[0-9]*//5; s/\.\([0-9]*\):$/ \1/'
自己刚接触shell命令这块,还不是太熟,上面具体如何实现的我还不能解释的太清楚,但发现awk,sed,cut这些命令真的很神奇,自己要好好学习一下

发表于 : 2011-03-10 12:42
leo
羡慕一下,目前还没有玩shell的功力。

发表于 : 2011-03-10 19:57
wkx9dragon
对于这个例子,这条命令就可以了。
sed -e "s/\.[0-9]\{5\}//;s/\./ /7"