Chinaunix

标题: 请教大牛们一个命令问题 [打印本页]

作者: lyw08china    时间: 2016-03-29 19:53
标题: 请教大牛们一个命令问题
用什么命令可以
华中.益阳B5厂.华中.益阳B5厂/20kV.#3机
江西.九江新厂.江西.九江新厂/15.75kV.#7机
字符串里从第二个点【.】后所有的文字截取出来,shell命令或者excel命令都行
作者: waker    时间: 2016-03-29 20:03
LANG=C cut -d. -f3- urfile
作者: liion631818    时间: 2016-03-29 20:06
回复 1# lyw08china
  1. sed -r 's/([^.]*\.)(.*)/\2/'
复制代码

作者: lyw08china    时间: 2016-03-29 20:10
太厉害了,你给我的输出的是
益阳B5厂.华中.益阳B5厂/20kV.#3机
九江新厂.江西.九江新厂/15.75kV.#7机
我要的是这样的结果
华中.益阳B5厂/20kV.#3机
江西.九江新厂/15.75kV.#7机
怎么改啊
回复 3# liion631818


   
作者: moperyblue    时间: 2016-03-29 20:13
本帖最后由 moperyblue 于 2016-03-29 21:50 编辑
  1. sed -r 's/^([^.]*\.){2}//'
  2. sed 's/\./\n/2;s/.*\n//'
  3. sed -r '/([^.]*\.)([^.]*)\.\1\2/{s/\./\n/2;D}'
  4. sed -n 'x;/^$/{x;s/\./\n/2;h;D};x;p;s/.*//;h'
复制代码

作者: liion631818    时间: 2016-03-29 20:29
  1. sed -r 's/([^.]*\.){2}(.*)/\2/'
复制代码
回复 4# lyw08china


    不好意思,前面搞错了
作者: sunzhiguolu    时间: 2016-03-29 20:58
回复 1# lyw08china
  1. awk -F'.' 'BEGIN{OFS="."}{print $3,$4,$5}' data2.txt
复制代码

作者: jcdiy0601    时间: 2016-03-30 10:03
awk 'BEGIN{FS="."}{for(i=3;i<=NF;i++)if(i<NF)printf("%s.",$i);else printf("%s\n",$i)}' file
华中.益阳B5厂/20kV.#3机
江西.九江新厂/15.75kV.#7机
作者: toddhai    时间: 2016-05-05 15:44
本帖最后由 toddhai 于 2016-05-05 15:44 编辑
  1. awk -F'.' '{for(i=3;i<NF;i++)printf $i FS;print $NF}' urfile
复制代码

作者: o06v90o    时间: 2016-05-05 19:25
sed   's/[^.]*\.[^.]*\.//'   文本




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2