社区
系统维护与使用区
帖子详情
shell字符处理
电灯泡
2012-10-17 10:51:15
比如有路径 /home/hello
/
,我想处理成 /home/hello ,sed中有什么方法呢,shell中有没有类似endwith("/")之类的函数或者数组下标移动的函数可用呢?
...全文
105
5
打赏
收藏
shell字符处理
比如有路径 /home/hello/ ,我想处理成 /home/hello ,sed中有什么方法呢,shell中有没有类似endwith("/")之类的函数或者数组下标移动的函数可用呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
电灯泡
2012-10-17
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
引用 1 楼 的回复:
echo "/home/hello/" | sed -e 's:/$::'
那有没有移动下标来作处理string的惯用方式呢
/$ 是什么意思呢
[/Quote]
了解,$表示一行的结尾,/$表示最后一个/
电灯泡
2012-10-17
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
echo "/home/hello/" | sed -e 's:/$::'
那有没有移动下标来作处理string的惯用方式呢
[/Quote]
/$ 是什么意思呢
电灯泡
2012-10-17
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
echo "/home/hello/" | sed -e 's:/$::'
[/Quote]
那有没有移动下标来作处理string的惯用方式呢
fyz_Winnie
2012-10-17
打赏
举报
回复
shell可以结合awk进行substr,按照lz的要求,只是需要删除最后一个字符“/”
如:
#dir=/home/hello/
#subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
#echo ${subdir}
/home/hello
如果要做的扩展性好点,就在前天加上判断,如:
dir=/home/hello/ #这里的dir可以使用外面传入的参数值
flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
if [ "$flag" = "/" ]
then
subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
else
subdir=$dir
fi
echo $subdir
执行结果:
#dir=/home/hello
#flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
#if [ "$flag" = "/" ]
> then
> subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
> else
> subdir=$dir
> fi
#echo $subdir
/home/hello
----------
#dir=/home/hello
#flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
#if [ "$flag" = "/" ]
> then
> subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
> else
> subdir=$dir
> fi
#echo $subdir
/home/hello
mymtom
2012-10-17
打赏
举报
回复
echo "/home/hello/" | sed -e 's:/$::'
如何1天入门Linux
Shell
脚本编程
4.
Shell
字符
串的操作 5.
Shell
传递脚本参数 6.
Shell
数学运算学习与掌握 7.
Shell
脚本与用户交互 8....
shell
字符
串
处理
引用自:
shell
字符
串
处理
shell
字符
串
处理
在做
shell
批
处理
程序时候,经常会涉及到
字符
串相关操作。有很多命令语句,如:awk,sed都可以做
字符
串各种操作。 其实
shell
内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取
字符
串值** 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAUL
Shell
字符
串
处理
shell
字符
串的
处理
1、计算
字符
串的长度 方法一:${#string} 方法二:expr length "$string" string有空格,则必须加双引号 例子: var1="Hello World" len=${#var1} len=`expr length "$var1"` 2、获取
字符
索引位置 expr index $string $substring 例子: var1="quickstart is a app" ind=`expr index "...
shell
基础-
字符
处理
命令
一、排序命令 很多情况下都需要对无序的数据进行排序,这时就要用到sort排序了。 sort命令: sort [选项] 文件名 子选项:-f 忽略大小写 -n 以数值型进行排序,默认使用
字符
串排序 -r 反向排序 二、uniq 取消重复行的命令 uniq命令是用来取消重复行的命令,其实和sort -u选项是一样的。 uniq 命令: 命令格式:uniq [选项] 文件名 -i:忽略大小写。会忽略后输入的相同的
字符
串。 -c:取消重复行并且统计重复出现的次...
shell
中
字符
串的
处理
1、单引号、双引号、无引号
字符
串的区别 方式 区别 单引号 'string' 任何
字符
都会原样输出,其中的变量无效
字符
串中不能出现单引号,即使对单引号转义也不行 双引号 "string" 如果
字符
串中包含变量,该变量会被解析(得到变量的值),而不是原样输出
字符
串中可以出现双引号,只要它被正确转义 无引号 string 不被引号包围的
字符
串中出现变量也会被解析,这一点和双引号包围的
字符
串一样
字符
串中不能出现空格,否则空格后面的
字符
串会被其他命令或解析 2、获取
字符
串的长度 用法:
系统维护与使用区
19,612
社区成员
74,603
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章