Chinaunix

标题: 怎么只提取文件里面的目录 [打印本页]

作者: liu-shaobo    时间: 2013-01-30 18:45
标题: 怎么只提取文件里面的目录
本帖最后由 liu-shaobo 于 2013-01-30 18:47 编辑

文件内容如下,只想提取里面的目录,用下面脚本可以做到,不知道用awk怎么实现
dir/32/323931/1041023/a.log
dir/32/322870/1039910/b.log
dir/25/255393/c.log
dir/22/225201/d.log

  1. for i in `cat ufilename`
  2. do
  3. dirname "$i"
  4. done
复制代码

作者: Shell_HAT    时间: 2013-01-30 20:18
  1. awk -F/ -v OFS="/" 'NF--' urfile
复制代码

作者: Shell_HAT    时间: 2013-01-30 20:20
  1. sed -r 's#(.*)/[^/]+$#\1#' urfile
复制代码

作者: yestreenstars    时间: 2013-01-30 23:56
直接这样就好了:
  1. sed -r 's#(.*)/.*#\1#'
复制代码
回复 3# Shell_HAT


   
作者: V_客    时间: 2013-01-31 09:51
  1. grep -oP '.*(?=/)'
复制代码

作者: reyleon    时间: 2013-01-31 10:04
  1. sed -r 's#/[^/]+$##g' urfile
复制代码

作者: blackold    时间: 2013-01-31 10:05
回复 1# liu-shaobo


    里面全是文件,没有目录?
作者: V_客    时间: 2013-01-31 11:07
回复 7# blackold


    黑哥 考虑的好,不过看他给的shell脚本 应该是没有目录的 要不然 目录取的就不是准确的了
作者: liu-shaobo    时间: 2013-01-31 12:02
感谢大家,学习了,里面最后一列都是文件,
作者: tyw09    时间: 2013-02-01 11:55
学习了啊~~~~




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