java中的接口是类吗
210
2022-10-27
SHELL脚本学习
一、打印字符串长度 如下,循环打印下面这名话字母数不大于6个的单词 She could see the open door of a departmental office. vim print-str.sh#!/bin/bash #打印字符串个数#第一种解决思路for i in She could see the open door of a departmental officedo [ ${#i} -le 6 ]&& echo $i done echo +++++++++++++++++++++++++++++++++++++#第二种解决思路for i in She could see the open door of a departmental office do [ `echo $i|wc -L` -le 6 ]&& echo $idone echo +++++++++++++++++++++++++++++++++++++#第三种解决思路echo "She could see the open door of a departmental office" |awk '{for(i=1;i<=NF;i++) if(length($i)<=6) print $i}'上面脚本中有一个点给大家说一下:${#}的作用帮助文档说明如下:${#parameter}${#var} 可以用来计算出变量值的长度[root@xuegod72 ~]# NAME=martin[root@xuegod72 ~]# echo ${#NAME}6那么${ }还有一些其它方面的作用,比如截取、替换比如我们定义一个变量:file=/var/log/message${file#*/}: 删掉第一个 / 及其左边的字符串[root@xuegod72 ~]# echo ${file#*/}var/log/message${file##*/}: 删掉最后一个 / 及其左边的字符串[root@xuegod72 ~]# echo ${file##*/}message${file#*.}: 删掉第一个 . 及其左边的字符串[root@xuegod72 ~]# file=/var/log/yum.log/xuegod.txt[root@xuegod72 ~]# echo ${file#*.}log/xuegod.txt${file##*.}: 删掉最后一个 . 及其左边的字符串:[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file##*.}txt${file%/*}: 删掉最后一个 / 及其右边的字符串:[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file%/*}/var/log/yum.log${file%%/*}: 删掉第一个 / 及其右边的字符串:[root@xuegod72 ~]# echo ${file%%/*}空值${file%.*}: 删掉最后一个 . 及其右边的字符串[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file%.*}/var/log/yum.log/xuegod${file%%.*}: 删掉第一个 . 及其右边的字符串[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file%%.*}/var/log/yum说明:# 是去掉左边(键盘上#在 $ 的左边)% 是去掉右边(键盘上% 在$ 的右边)单一符号是最小匹配;两个符号是最大匹配
字符串截取
字符串提取:${file:0:5}:提取最左边的 5 个字节(中间用冒号分开)[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file:0:5}/var/${file:5:5}:提取第 5 个字节右边的连续5个字节[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file:5:5}log/y对变量值进行替换${file/var/opt}:将第一个var 替换为opt[root@xuegod72 ~]# file=/var/log/yum.log/martin.txt[root@xuegod72 ~]# echo ${file/var/opt}/opt/log/yum.log/xuegod.txt${file/var/opt}:将全部var 替换为opt[root@xuegod72 ~]# file=/var/log/var.log/var.txt[root@xuegod72 ~]# echo ${file//var/opt}/opt/log/opt.log/opt.txt
#判断一个文件的扩展名是否为真,如果为真打印“字符串数量”,否则,打印0
if expr "$1" : ".*\.pub" > /dev/null ; then
ID_FILE="$1"
else
ID_FILE="$1.pub"
fi
解释:判断位置$1参数的文件扩展名,是否为“.*.pub”,如果为0则为假,否则打印字符串为8
举例:expr "test.txt" : ".*\.pub" 为假
举例:expr "test.pub" : ".*\.pub" 为真
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~