免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: GM
打印 上一主题 下一主题

请问如何在文件名中截取位段置入变量中? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-11-10 16:31 |只看该作者

请问如何在文件名中截取位段置入变量中?


  1. echo xxxxxx.txt|sed 's/^.*\([A-Za-z0-9]\.\).*/\1/;s/\.//'
复制代码

寂寞烈火您好!!!
这个代码我看得有点晕,能不能解译一下他的含义呢?
如果取小数点前2位呢?即xx,要如何写?

对了
var=filex.txt
echo ${var%%.*}
这个我好象行不通,是什么shell下?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
12 [报告]
发表于 2004-11-10 16:51 |只看该作者

请问如何在文件名中截取位段置入变量中?

1,要是取小数点前两位的话,
echo fileab.txt|sed 's/^.*\([A-Za-z0-9]\{2\}\.\).*/\1/;s/\.//'
2,bash和ksh都支持这样的用法,详情见置顶的shell十三问

论坛徽章:
0
13 [报告]
发表于 2004-11-10 19:02 |只看该作者

请问如何在文件名中截取位段置入变量中?

csh 的话

set aa=${变量:e}

ksh
aa=${变量##.*}
. 是否要转意试试吧

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
14 [报告]
发表于 2004-11-10 19:20 |只看该作者

请问如何在文件名中截取位段置入变量中?

原帖由 "james_dlc" 发表:
csh 的话

set aa=${变量:e}

ksh
aa=${变量##.*}
. 是否要转意试试吧

这个的.是分隔符,不需要转义
P.S:不习惯csh/tcsh

论坛徽章:
0
15 [报告]
发表于 2004-11-10 19:22 |只看该作者

请问如何在文件名中截取位段置入变量中?

如何把后缀(点)前的一个字符(X)置入变量aa中?
即aa="X"

nawk -F"." '{ print substr($1, length($1) - 1, 1 )}' filename

您好,如果点后面不要怎办,如只要fileX
把.txt取掉,要如果处理,谢谢!!!

nawk -F"." '{ print $1 }'  fielname

以上程序在unix5.0.5下通过。

论坛徽章:
0
16 [报告]
发表于 2004-11-10 19:51 |只看该作者

请问如何在文件名中截取位段置入变量中?

原帖由 "GM" 发表:
您好,如果点后面不要怎办,如只要fileX
把.txt取掉,要如果处理,谢谢!!!


csh

set aa=${变量:r}

ksh就象 烈火所说

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
17 [报告]
发表于 2004-11-10 19:53 |只看该作者

请问如何在文件名中截取位段置入变量中?

??? 如果取小数点前2位呢?即xx,要如何写?

改我的代碼, 將 \(.$\) 改為 \(..$\) 即可.
要 3 位, 就用 3 個點.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
18 [报告]
发表于 2004-11-10 20:14 |只看该作者

请问如何在文件名中截取位段置入变量中?

这样如何?
/home/lee#var=123456.654321
/home/lee#echo ${var%%.*}|rev|cut -c1-2|rev #小数点前2位
56
/home/lee#echo ${var%%.*}|rev|cut -c1-3|rev #小数点前3位,余此类推
456
/home/lee#echo ${var##*.}|cut -c1 #小数点后1位
6
/home/lee#echo ${var##*.}|cut -c1-2 #小数点后2位
65
/home/lee#echo ${var##*.}|cut -c1-3 #后3位,余此类推
654
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP