一、正規表示式
1、符合字元的型別
[a-z]:小寫字母
[A-Z]:大寫字母
[a-Z]:小或大寫字母
[0-9]:數字
#[a-zA-Z0-9]:表示符合一個為字母或數字的字元
. :符合1個任意字符,空格除外
[0-f]:16進位數
abc | def:abc或def
a (bc | de) f:abcf 或adef
\
\>:單字尾
[^表達式]:除小寫字母以外的所有字符,如此類推。
2、後面跟著以下符號控制匹配的數量
此類符號的左邊要有上面第一點的表達式
-
#表達式*:0或n個字元
表達式+:1或n個字元
表達式?: 0或1個字元
表達式{n}:n個字元
表達式{n:m}:n到m個字元
表達式{n,}:至少n個字元
【範例】[a-z]*表示符合0個或多個小寫字母
3、將符合的字元控制在頭尾
#^表達式:頭部符合
#表達式$:尾部符合
二、Linux三大文字處理工具
1、egrep 篩選工具
grep的擴充版,可以使用正規表示式
語法:
egrep -選項 '正規表示式' 檔名
#選項:
-n :顯示行號
-o :只顯示符合的內容
-q :靜默模式,沒有任何輸出,得用$?來判斷執行成功沒有,即有沒有過濾到想要的內容
- l :如果匹配成功,則只將文件名打印出來,失敗則不打印,通常-rl一起用,grep -rl 'root' /etc
-A :如果匹配成功,則將匹配行及其後n行一起打印出來
-B :如果匹配成功,則將匹配行及其前n行一起打印出來
#-C :如果符合成功,則將符合行及其前後n行一起列印出來
--color
-
-c :如果匹配成功,則將匹配到的行數列印出來
-i :忽略大小寫
- ##- v :取反,不符合
- -w:符合單字
語法:
語法1:sed -選項 '數字定位+指令' 檔案名稱選項:
- -n:靜默模式,不輸出
- -e:多項編輯,這個不是很清楚
- -i:直接修改檔案內容,而不是輸出
- -r:擴充模式,可使用正規表示式
- -f:指定檔案名,將動作寫在新的檔案內
定位:
#①數字定位(輸入行序號定位)
- 1:單行
- 1,3:從第一行到第三行
- 2 ,+4:符合行後若干行
- 4,~3:從第四行到下一個3的倍數行 ##2 ~3:第二行起每間隔三行的行
- $:尾行
- #1!:除了第一行以外的行
②正規表示式定位
- #正規必須用//包起來
- 擴充正規則需要用-r 參數或轉義
- 替換可使用正規表示式的子模式,即小括號(),可以\1、\2代表子模式
*貪婪選項:填上g,代表把一行中所有符合項目替換
指令:
- a ∶ 追加append,
- #c ∶ 改變change,
- d ∶ 刪除delete,
- i ∶ 插入insert, i 的後面可以接字符串,而這些字符串會在新的一行出現(目前的上一行)
- p∶ 打印print
- s∶ 取代substitute,可以直接進行替換的工作。通常這個 s 的動作可以搭配正規表示式。例如1,20s/old/new/g
使用{指令1:指令2:指令3}可增加使用多個指令
s指令語法:sed -r '取代指令s/正規表示式/取代內容/貪婪選項g' 檔名
3、awk 文字分析工具
由指令、正規(需要用//包圍起來)、比較和關係運算組合而成
#使用option中的-F參數定義間隔符號
以$1,$2,$3等的順序表示files中每行以間隔符號分隔的各列不同域,NF變數表示目前記錄的欄位數
語法
awk -選項參數 '邏輯判斷{指令變數1,變數2,變數3}' 檔案名稱
選項
-F 定義欄位分隔符,預設的分隔符號是連續的空格或製表符
-v 定義變數並賦值也可以藉用次方式從shell變數中引入
AWK變數
NR 目前記錄的數量(全部檔案連線後的統計)
- ##FNR目前記錄的個數(僅為目前檔案的統計,非全部)
- FS 欄位分隔符號預設為連續空格或製表符,可以使用多個不同的符號做分隔符-F[:/]
- OFS 輸出字元的分隔符號預設是空格
# awk -F: 'OFS="=====" {print $1,$2}' /etc/passwd
root===== x
- NF 目前讀入行的字段數
- #ORS 輸出記錄分隔符號預設是換行
# awk -F: 'ORS="=====" {print $1,$2}' /etc/ passwd
root x=====bin x=====
- #FILENAME 目前檔名
# awk '{print NR,FNR,$1}' file1 file2
#1 1 aaaaa
2 2 bbbbb
3 3 ccccc
4 1 dddddd
5 2 eeeeee
6 3 ffffff
#
引用shell變數的方法# # a=root
# awk -v var=$a -F: '$1 == var {print $0}' /etc/passwd或將整個指令拆開傳遞,讓shell變數外露,
# awk -F: '$1 == "'$a'" {print $0}' /etc/passwd
# a=NF
# awk -F: '{print $'$a'}' /etc/passwd
- = += -= / = *=:賦值
- && || !:邏輯與邏輯或邏輯非
- ~ !~:匹配正規或不符,正規需要用/正規/ 包圍住
- >= != ==:關係,比較字串時要把字串用雙引號引起來
- $:欄位參考需要加$,而變數引用直接用變數名稱取
- #+ - * / % ++ --:運算符
- #\\ \自身
- \$ 轉義$
- \t 製表符
- #\b 退格符號
- \r 回車符號
- \n 換行符號
- #\c 取消換行
有錯誤請指正,更多詳細資料參考:
以上是正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

維護模式在Linux系統管理中扮演關鍵角色,幫助進行系統修復、升級和配置變更。 1.進入維護模式可以通過GRUB菜單選擇或使用命令“sudosystemctlisolaterescue.target”。 2.在維護模式下,可以執行文件系統修復和系統更新等操作。 3.高級用法包括重置root密碼等任務。 4.常見錯誤如無法進入維護模式或掛載文件系統,可通過檢查GRUB配置和使用fsck命令修復。

使用Linux維護模式的時機和原因:1)系統啟動問題時,2)進行重大系統更新或升級時,3)執行文件系統維護時。維護模式提供安全、控制的環境,確保操作的安全性和效率,減少對用戶的影響,並增強系統的安全性。

Linux中不可或缺的命令包括:1.ls:列出目錄內容;2.cd:改變工作目錄;3.mkdir:創建新目錄;4.rm:刪除文件或目錄;5.cp:複製文件或目錄;6.mv:移動或重命名文件或目錄。這些命令通過與內核交互執行操作,幫助用戶高效管理文件和系統。

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo

Linux的核心組件包括內核、文件系統、Shell、用戶空間與內核空間、設備驅動程序以及性能優化和最佳實踐。 1)內核是系統的核心,管理硬件、內存和進程。 2)文件系統組織數據,支持多種類型如ext4、Btrfs和XFS。 3)Shell是用戶與系統交互的命令中心,支持腳本編寫。 4)用戶空間與內核空間分離,確保系統穩定性。 5)設備驅動程序連接硬件與操作系統。 6)性能優化包括調整系統配置和遵循最佳實踐。

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

Linux的維護模式可以通過GRUB菜單進入,具體步驟為:1)在GRUB菜單中選擇內核並按'e'編輯,2)在'linux'行末添加'single'或'1',3)按Ctrl X啟動。維護模式提供了一個安全環境,適用於系統修復、重置密碼和系統升級等任務。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具