仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1007|回复: 8
打印 上一主题 下一主题

[shell编程] 带来一篇shell字符串处置

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:14:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!字符串操纵(长度,读取,交换)
表达式寄义${#string}$string的长度${string:position}在$string中,从地位$position入手下手提取子串${string:position:length}在$string中,从地位$position入手下手提取长度为$length的子串${string#substring}从变量$string的开首,删除最短婚配$substring的子串${string##substring}从变量$string的开首,删除最长婚配$substring的子串${string%substring}从变量$string的开头,删除最短婚配$substring的子串${string%%substring}从变量$string的开头,删除最长婚配$substring的子串${string/substring/replacement}利用$replacement,来取代第一个婚配的$substring${string//substring/replacement}利用$replacement,取代一切婚配的$substring${string/#substring/replacement}假如$string的前缀婚配$substring,那末就用$replacement来取代婚配到的$substring${string/%substring/replacement}假如$string的后缀婚配$substring,那末就用$replacement来取代婚配到的$substring字符串操纵举例:
  1. 1.长度$string=linuxeye$echo${#string}82.截取字串$string=linuxeye$echo${string:5}eye$echo${string:0:5}#默许从0入手下手,可省略,以下linux$echo${string::5}linux3.字符串删除$redis_file=c:/windows/src/redis-2.8.4.tar.gz$echo${redis_file#/}c:/windows/src/redis-2.8.4.tar.gz$echo${redis_file#*/}windows/src/redis-2.8.4.tar.gz$echo${redis_file##*/}redis-2.8.4.tar.gzecho${redis_file%/*}c:/windows/src$echo${redis_file%%/*}c:${变量名#substring正则表达式}从字符串开首入手下手装备substring,删除婚配上的表达式。${变量名%substring正则表达式}从字符串开头入手下手装备substring,删除婚配上的表达式。注重:${redis_file##*/},${redis_file%/*}分离是失掉文件名,大概目次地点最复杂***。4.字符串交换$echo${redis_file///}c:windows/src/redis-2.8.4.tar.gz$echo${redis_file////}c:windowssrcedis-2.8.4.tar.gz${变量/查找/交换值}一个"/"暗示交换第一个,"//"暗示交换一切,当查找中呈现了:"/"请加本义符"/"暗示。
复制代码
判别读取字符串值
表达式寄义${var}变量var的值,与$var不异${var-DEFAULT}假如var没有被声明,那末就以$DEFAULT作为其值${var:-DEFAULT}假如var没有被声明,大概其值为空,那末就以$DEFAULT作为其值,判别var变量是不是没有界说${var=DEFAULT}假如var没有被声明,那末就以$DEFAULT作为其值${var:=DEFAULT}假如var没有被声明,大概其值为空,那末就以$DEFAULT作为其值,判别var变量是不是没有界说,并确保变量一直有值${var+OTHER}假如var声了然,那末其值就是$OTHER,不然就为null字符串${var:+OTHER}假如var被设置了,那末其值就是$OTHER,不然就为null字符串${var?ERR_MSG}假如var没被声明,那末就打印$ERR_MSG${var:?ERR_MSG}假如var没被设置,那末就打印$ERR_MSG${!varprefix*}婚配之前一切以varprefix开首举行声明的变量${!varprefix@}婚配之前一切以varprefix开首举行声明的变量判别读取字符串值举例:
  1. $output=${FILE:-UNSET}$echo$outputUNSET$FILE=/root/lnmp$output=${FILE:-UNSET}$echo$output/root/lnmp对变量的路径举行操纵时,最好先判别路径是不是为非空,以下path变量没有界说,则取/tmp,避免变量没界说误删除:$find${path-/tmp}-name*.tar.gz-typef|xargsrm-f
复制代码
欢迎大家来到仓酷云论坛!
因胸联盟 该用户已被删除
9#
发表于 2015-3-22 20:12:38 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-16 03:23:14 | 只看该作者
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
透明 该用户已被删除
7#
发表于 2015-3-8 05:58:28 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
莫相离 该用户已被删除
6#
发表于 2015-2-25 19:47:40 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
admin 该用户已被删除
5#
发表于 2015-2-8 14:00:23 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
若天明 该用户已被删除
地板
发表于 2015-2-2 22:06:17 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
板凳
发表于 2015-1-25 10:57:33 | 只看该作者
未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
只想知道 该用户已被删除
沙发
发表于 2015-1-15 07:21:59 | 只看该作者

带来一篇shell字符串处置

前一段又听说微硬公司的自动文章机出来了,估计在这儿做测试呢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-11 19:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表