如何提取独一无二的最深的路径

737阅读 0评论2010-03-10 greendays
分类:

[] [] [] []

本帖最后由 最烦隐藏帖 于 2010-03-05 17:15 编辑

$ cat data
src/top/gm
src
src/top
src/top/tk
src/ha
head/jump
head/x
head/jump/jump2

我想得到data文件里面独一无二并且最深的路径列表即
src/top/gm
src/top/tk
src/ha
head/x
head/jump/jump2
谢谢大家


| | |

awk '/\/\w*[^\/]$/' data


| | |



QUOTE:
awk '/\/\w*[^\/]$/' data
dujie_m 发表于 2010-03-05 17:03



data里面可能不是都是src开头的 还有别的开头路径
$ cat data
src/top/gm
src/
src/top/
src/top/tk
src/ha
head/jump
head/x
head/jump/jump2

你这个命令就得出不一样的结果了 应该不能得出'head/jump'
$ awk '/\/\w*[^\/]$/' data
src/top/gm
src/top/tk
src/ha
head/jump
head/x
head/jump/jump2


| | |

本帖最后由 where27 于 2010-03-05 17:10 编辑

回复 最烦隐藏帖
  1.     sed '/\/$/d' file
复制代码
哦,那错了,无视我吧
__________________________________
it民工
雄起!!


| | |

回复 where27


    是我题目没有写清楚 谢谢了


| | |

  1. sort -u urfile|sed 'N;/^\(.\+\)\n\1/!P;D'
复制代码
__________________________________

LIVE FREE OR DIE!     K.I.S.S.  DRY



| | |



QUOTE:
blackold 发表于 2010-03-05 17:17


谢谢黑哥


| | |

来个awk的
  1. awk '{a[$0]}END{for (i in a) {T=0;for (j in a) if (i!=j&&j~i) {T=1;continue}if (!T) print i }}' file
复制代码
__________________________________
shell新手&&awk新手
http://ywlscpl.cublog.cn


| | |

回复 blackold


    理解了~thinking............
__________________________________
兴趣+勤奋+坚持+方法 = ?   keepmoving


| | |
  » » »
  快速回复主题
上一篇: sed 的 D 命令什么意思?
下一篇:awk 域替换