Linux--shell中获取字符串长度的常用方法

Linux--shell中获取字符串长度的常用方法,第1张

备注:-F为分隔符,NF为域的个数,即单行字符串的长度

备注:

1)如果输入为单行字符串,输出为字符串的长度

2)如果输入为文件,则输出为文件中最长行的长度

备注:

-c参数:统计字符的个数

-n参数:去除字符串中的换行符

注:文章主要内容来自 https://blog.csdn.net/jerry_1126/article/details/51835119

shell脚本对变量类型没有限制,你输入数字,phone就可以直接当数值型来用。

只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。

read -p "Phone Number (xxxxxxxx):" phone

echo "$phone" | egrep "^[0-9]{8}$" >/dev/null

if [ $? -eq 0 ]then

echo ....

文件表达式

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真

-w filename 如果 filename可写,则为真

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

filename1 -nt filename2 如果 filename1比 filename2新,则为真。

filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

整数变量表达式

-eq 等于

-ne 不等于

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

字符串变量表达式

If [ b ] 如果string1等于string2,则为真

字符串允许使用赋值号做等号

if [ string2 ] 如果string1不等于string2,则为真

if [ -n string ] 如果string 为空,则为真

if [ $sting ] 如果string 非空,返回0 (和-n类似)

if [ ! 表达式 ]

if [ ! -d num

if [ 表达式1 –a 表达式2 ]

if [ 表达式1 –o 表达式2 ]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8748343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存