BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 



如何用sed或者awk截取长路径中的某段
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
jackwenghui
圣骑士




CU编号: 588298
注册:2007-7-17
最后登录: 2009-04-13
帖子:88
精华:0

可用积分:102 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2009-1-8 14:44 

各位大虾
如我有一个路径 aaaa/bbbb/cccc/ddddd/eeeee/ffffff
我希望用正则表达式取出ffffff之前的路径~~
应该怎么写?



您对本贴的看法:鲜花[0] 臭蛋[0]
ly5066113   帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-07-03
帖子:5298
精华:0

可用积分:22062 (巨富豪门)
信誉积分:120
专家积分:617 (本版:566)
空间积分:0
推广积分:132

来自:长春
状态:...离线...

[个人空间] [短信] [博客]


2楼 发表于 2009-1-8 14:45 

回复 #1 jackwenghui 的帖子

$ str="aaaa/bbbb/cccc/ddddd/eeeee/ffffff"
$ echo ${str%/*}
aaaa/bbbb/cccc/ddddd/eeeee
$ dirname $str
aaaa/bbbb/cccc/ddddd/eeeee



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
haimming   帅哥
大天使



CU编号: 762165
注册:2008-9-14
最后登录: 2009-07-04
帖子:1984
精华:0

可用积分:6610 (富足长乐)
信誉积分:0
专家积分:25 (本版:15)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


3楼 发表于 2009-1-8 14:45 

周经贴



您对本贴的看法:鲜花[0] 臭蛋[0]
jackwenghui
圣骑士




CU编号: 588298
注册:2007-7-17
最后登录: 2009-04-13
帖子:88
精华:0

可用积分:102 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2009-1-8 14:49 

那如果写成正则表达式应该怎么写啊?



您对本贴的看法:鲜花[0] 臭蛋[0]
biglazybug   帅哥 (Slacker)
精灵使
大懒虫



CU编号: 653198
注册:2007-12-11
最后登录: 2009-07-03
帖子:2828
精华:0

可用积分:2574 (小富即安)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:1

来自:大连
状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2009-1-8 14:53 

sed -r 's/(.*)\/.*/\1/'



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Shell初学者
シェル初心者

jackwenghui
圣骑士




CU编号: 588298
注册:2007-7-17
最后登录: 2009-04-13
帖子:88
精华:0

可用积分:102 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2009-1-8 14:56 

回复 #5 biglazybug 的帖子

假设我不知道有多少个‘/‘呢?也就是,如果能够从后向前查找,这个应该怎么写?我实验了一下,好像不行啊~~~

[ 本帖最后由 jackwenghui 于 2009-1-8 15:00 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]
welcome008
法师
精神领袖



CU编号: 24960
注册:2002-10-25
最后登录: 2009-07-05
帖子:7841
精华:0

可用积分:6534 (富足长乐)
信誉积分:100
专家积分:77 (本版:35)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2009-1-8 14:58 

echo "aa/bb/cc/dd/ee/fffff"|awk 'BEGIN{FS="fffff"}{print $1}'



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

linux:
Linux BBC.com 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386 GNU/Linux

solaris:
SunOS s_test 5.8 Generic_117350-41 sun4u sparc SUNW,Ultra-60
biglazybug   帅哥 (Slacker)
精灵使
大懒虫



CU编号: 653198
注册:2007-12-11
最后登录: 2009-07-03
帖子:2828
精华:0

可用积分:2574 (小富即安)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:1

来自:大连
状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2009-1-8 14:59 

回复 #6 jackwenghui 的帖子

试试看呗 写多少个不都一样吗 都是去掉最后一个斜线后的



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Shell初学者
シェル初心者

welcome008
法师
精神领袖



CU编号: 24960
注册:2002-10-25
最后登录: 2009-07-05
帖子:7841
精华:0

可用积分:6534 (富足长乐)
信誉积分:100
专家积分:77 (本版:35)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2009-1-8 14:59 



QUOTE:
原帖由 jackwenghui 于 2009-1-8 14:56 发表
假设我不知道有多少个‘/‘呢?也就是,如果能够从后向前查找,这个应该怎么写?

awk -F\/ 'BEGIN{OFS="/"}{$NF="";print $0}'



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

linux:
Linux BBC.com 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386 GNU/Linux

solaris:
SunOS s_test 5.8 Generic_117350-41 sun4u sparc SUNW,Ultra-60
寂寞烈火   帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-07-04
帖子:24678
精华:5

可用积分:14618 (大富大贵)
信誉积分:110
专家积分:171 (本版:102)
空间积分:1425
推广积分:0

来自:北京海淀
状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2009-1-8 15:09 



QUOTE:
原帖由 haimming 于 2009-1-8 14:45 发表
周经贴

:mrgreen:



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

孰能浊以静之徐清?
孰能安以动之徐生?

首页 » 论坛 » Shell »


 


Copyright © 2001-2009 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.046132 second(s), 4 queries , Gzip enabled