在shell中求长度的几种常见方式

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

<1> 使用$#直接求解
echo ${#变量名}

[root@localhost SHELL]# TE=muyingshiguang
[root@localhost SHELL]# echo ${#TE}
14
[root@localhost SHELL]# 

<2>使用管道符与wc的组合求解
echo $变量名 | wc -L

[root@localhost SHELL]# echo $TE | wc -L
14
[root@localhost SHELL]# 

<3>使用expr命令求解
expr length “$TE”

[root@localhost SHELL]# expr length "$TE"
14
[root@localhost SHELL]#

<4>使用awk求解
echo $TE | awk ‘{print length($0)}’

[root@localhost SHELL]# echo $TE | awk '{print length($0)}'
14
[root@localhost SHELL]# 
Linux shell编程之 - 获得一个变量长度 按你脚本的逻辑,第一次进入循环的是非法串长,在循环体内又没有一条语句来修改这个非法串长就成了死循环,所以还是要将read name。哦,是的,当时代码没有没有写完整,而我自己用的是完整的,所以就想当然以为这段也没错了。按照你的脚本的逻辑,如果首次输入的长度不是6是会死循环的呀。前面的朋友说得没错,会死循环,变量$length应该在循环里面重新赋值!这样name变量长度就读到asd变量了,但是会比实际的长度多1。不会啊,循环里面是交互的啊,只要符合条件就可以退出循环的。其中`号为“1”键左边的键。 阅读详情

相关推荐

shell变量计算长度及加减运算方法总结

linux shell 变量定义,以及变量的输出,在shell编写中常常需要计算变量长度,以及数字变量直接进行加减操作变量定义 shell变量没有整形,字符串,浮点型等其余编程语言定义的数据类型[root@mytest ~]# str=stringstr是一个变量 变量输出[root@mytest ~]# echo $str string 或: [root@mytest ~]# echo ${

comprel的博客 1万+

Shell中获取字符串长度的七种方法

字符串操作在shell脚本中很常用,下面归纳、汇总了字符串的几种可能方法: 【方法一】:利用${#str}来获取字符串的长度 【方法二】:利用awk的length方法 备注: 1) 最好用{}来放置变量 2) 也可以用length($0)来统计文件中每行的长度 【方法三】:利用awk的NF项来获取字符串长度 备注: -F为分隔符,NF为域的个数,即单行字符串的长度 【方法四】:利用wc的-L参数来获取字符串的长度 备注: -L参数 1) 对多行文件来说,表示打印最长行的长

chenpuo的博客 1万+

Shell中计算字符串长度的5种方法

一、使用 wc -L 命令 wc -L(一定是大写L)可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取;另外 wc -l(一定是小写的l)则是获取当前字符串内容的行数 echo "abc" | wc -L #结果为 3 表示长度 echo "abc" | wc -l #结果为1 表示行数 二、使用 expr length string 命令 expr length "abc" #结果为 3 三、通过 awk+length 的方式获取字符串长度 echo "abc" | awk '{

sinat_34241861的博客 8988

linux--shell---判断参数大小

写一个脚本,传入两个数字,对数字大小进行比对。要对参数个数进行校验。 #定义变量 num1=$1 num2=$2 #判断是否输入两个参数,是的话将两个参数传递给下一条指令 #若不是两个参数,则打印输出内容输出并且退出exit脚本不执行下一个指令。 if [ $# -ne 2 ] ;then echo '请输入两位数字' exit fi if [ $num1 -gt $num2 ] ; ...

weixin_44812034的博客 4567

Linux拓展之Shell字符串的长度

shell 脚本中,有时候需要去字符串的长度。如下展示了常见字符串长度的方法。

二木成林 3877

Shell脚本中的几种计算方式

Shell脚本中的几种计算方式expr使用方括号let使用双括号bash内建计算器 expr  这是我常常用的一个命令,它不仅可以处理数值,还可以处理表达式或者字符串。 使用expr命令的过程中,需要注意一些特殊的字符,例如*、/、()等等,1 使用方括号 let 内建命令 使用双括号 内建命令 bash内建计算器 这些符号在shell中有特殊的意思,需要在其前面加上\对其转义。 ↩︎ ...

fuluoyide312的博客 6055

shell 数组长度

Shell  数组操作方式 数组元素个数  ${#array[@]}  数组的所有元素  ${array[*]}  字符串长度      ${#str} 1、获取数组元素的个数:         array=(bill   chen  bai   hu);         num=${#array[@]}                          //获取数组元素的个数。

7946

Shell编程——字符串的相关操作(定义、拼接、截取、长度

以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除。

主要记录嵌入式学习与开发过程。 2万+

Shell编程——数组的相关操作(定义、拼接、长度等)

以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除。

主要记录嵌入式学习与开发过程。 2272

shell 截取字符串的几种方式

Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串。 既然需要指定起始位置,那么就涉及到计数方向的问题,到底是从字符串左边开始计数,还是从字符串右边开始计数。答案是 Shell 同时支持两种计数方式。 1) 从字符串左边开始计数 如果想从字符串的左边开始计数,那么截取字符串的具体格式如下: ${string: start :length} 其中,.

勇敢前行,一路向前 2064

shell中取字符串子串的几种方式

<br />(1)awk中函数substr<br /> substr(源字符串,开始索引,长度)   开始索引以0开始<br /> 示例:<br /> awk '{$a=substr($0,0,2);print $a;}' filename<br /> 假设文件中为只有一行为abcdefg,则返回结果为ab<br /><br /> (2)expr substr <br /> expr substr 字符串 开始索引 长度   开始索引以1开始<br /> 示例:<br />expr subst

星星的技术专栏 4万+

shell 脚本中一个字符串的长度

shell脚本中 字符串的长度.

阿常呓语的专栏 7650

linux shell 字符长度,Shell中获取字符串长度方法总结

字符串操作在shell脚本中很常用,下面归纳、汇总了字符串的几种可能方法:【方法一】:利用${#str}来获取字符串的长度[mkx@localhost testdir]$ stringZ=abcABC123ABCabc[mkx@localhost testdir]$ echo ${#stringZ}15【方法二】:利用awk的length方法[mkx@localhost testdir]$ e...

weixin_32073733的博客 1437

linux shell字符串及字符串长度获取方式

linux shell字符串及字符串长度获取方式

学亮编程手记 563

linux shell 显示字符串长度,Shell获取字符串长度的多种方法总结

前言我们在日常工作中,对于字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳、汇总了字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧。方法如下:【方法一】:利用${#str}来获取字符串的长度【方法二】:利用awk的length方法备注:1) 最好用{}来放置变量2) 也可以用length($0)来统计文件中每行的长度【方法三】:利用awk的nf项来获取字符串长...

weixin_35930255的博客 2648

Shell脚本中计算字符串长度几种方法

1:wc -L wc -l (小写)是获取当前字符串内容的行数,wc -L (大写)可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取。 $ str="123.?+ abc" $ echo "$str" |wc -L 10 2: expr length $string expr length $string 可以获取字符串的长度 $ str="123.?+ abc"...

vayneX的博客 1539
上一篇: shell变量的子串的删除/替换
下一篇: linux-awk中NF与$NF的区别
lm_123_456
博客等级 码龄11年 35粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值