中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SHELL腳本學習

發布時間:2020-10-03 08:25:50 來源:網絡 閱讀:383 作者:martingpf 欄目:網絡安全

一、打印字符串長度
        如下,循環打印下面這名話字母數不大于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 office
do 
    [ ${#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 $i
done 
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"      為真







向AI問一下細節
推薦閱讀:
  1. shell腳本
  2. Shell腳本基礎

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂平县| 广灵县| 清新县| 志丹县| 甘肃省| 广饶县| 精河县| 平阳县| 兴仁县| 定襄县| 沾化县| 江永县| 德江县| 报价| 东台市| 宣恩县| 靖西县| 彭州市| 鲁甸县| 江口县| 柘城县| 乐昌市| 徐闻县| 余姚市| 太和县| 新巴尔虎左旗| 额尔古纳市| 金华市| 中超| 汝城县| 芦溪县| 华宁县| 正阳县| 苗栗县| 宜州市| 朝阳区| 清新县| 洛扎县| 穆棱市| 江门市| 合江县|