正則表達式和Shell腳本。

正則表達式
分兩類:
基本正則表達式:BRE
擴展正則表達式:ERE
grep -E, egrep
正則表達式引擎:
採用不同算法,檢查處理正則表達式的軟件模塊
PCRE
元字符分類:字符匹配、匹配次數、位置錨定、分組

基本正則表達式元字符
字符匹配:
. 匹配任意單個字符
[] 匹配指定範圍內的任意單個字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
[^] 匹配指定範圍外的任意單個字符
[:alnum:] 字母和數字
[:alpha:] 代表任何英文大小寫字符,亦即 A-Z, a-z
[:lower:] 小寫字母 [:upper:] 大寫字母
[:blank:] 空白字符(空格和製表符)
[:print:] 可打印字符
[:punct:] 標點

匹配次數:用在要指定次數的字符後面,用於指定前面的字符要出現的次數

  • 匹配前面的字符任意次,包括0次
    貪婪模式:儘可能長的匹配
    .* 任意長度的任意字符
    \? 匹配其前面的字符0或1次
    + 匹配其前面的字符至少1次
    {n} 匹配前面的字符n次
    {m,n} 匹配前面的字符至少m次,至多n次
    {,n} 匹配前面的字符至多n次
    {n,} 匹配前面的字符至少n

位置錨定:定位出現的位置
^ 行首錨定,用於模式的最左側
$ 行尾錨定,用於模式的最右側
^PATTERN$ 用於模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
\< 或 \b 詞首錨定,用於單詞模式的左側
\> 或 \b 詞尾錨定,用於單詞模式的右側
\<PATTERN\> 匹配整個單詞

Shell程序:提供了編程能力,解釋執行
shell編程:過程式、解釋執行
編程語言的基本結構:
各種系統命令的組合
數據存儲:變量、數組
表達式:a + b
語句:if
shell腳本:
包含一些命令或聲明,並符合一定格式的文本文件
格式要求:首行shebang機制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
shell腳本的用途有:
自動化常用命令
執行系統管理和故障排除
創建簡單的應用程序
處理文本或文件

創建shell腳本
第一步:使用文本編輯器來創建文本文件
第一行必須包括shell聲明序列:#!
示例:#!/bin/bash
添加註釋
註釋以#開頭
第二步:運行腳本
給予執行權限,在命令行上指定腳本的絕對或相對路徑
直接運行解釋器,將腳本作爲解釋器程序的參數運行

腳本代碼開頭約定
1、第一行一般爲調用使用的語言
2、程序名,避免更改文件名爲無法找到正確的文件
3、版本號
4、更改後的時間
5、作者相關信息
6、該程序的作用,及注意事項
7、最後是各版本的更新簡要說明
shell腳本示例
#!/bin/bash

------------------------------------------

Filename: hello.sh

Revision:

Date: 2018/12/23

Author:

Email:

Website:

Description:

Copyright:

License:

------------------------------------------

echo “hello ”

腳本調試
檢測腳本中的語法錯誤
bash -n
調試執行
bash -x

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章