Linux認證基礎知識:Linux中正則表達式與文件處理
在學習Linux認證過程中,每個人會遇到每個人不同的問題,或小或大,真心希望同學們能少受些折磨,多得一些成就感與豁然開朗的感覺,這樣的學習才能化被動為主動,越學越快樂。
一、正則表達式
1.簡單的説正則表達式就是處理字符串的方法,它是以行為單位來進行字符串的處理行為,正則表達式通過一些特殊符號的輔助,可以讓用户輕易的達到查找,刪除,替換某特定字符串的處理程序
在數據中查找一個字符串時,是以整行為單位來進行數據的選取的,也就是説假如一個文件內有10行,那麼其中兩行是有用的,那麼就將這兩行顯示出來,其它的丟棄
3.在bash當中,我們知道通配符*可以用來表示任意個字符,但是正則表達式中的*表示不同的含義
在正則表達式中,'.'表示的是一定有一個任意字符的意思
在正則表達式中,'*'表示的是重複前一個字符0到無窮多次的意思
4.基礎的正則表達式
RE字符 意義
^word 查找行首為word的行
word$ 查找結尾為word的行
. 代表一定有一個任意的字符
轉義字符,將特殊字符的特殊意義去除
* 重複前一個字符0個到無窮多個
[list] 從字符集合裏面選擇一個字符
[n1-n2] 從要選擇的範圍裏面選擇一個字符
[^list] 從不是這個字符集合裏面找出一個字符
{n,m} 連續n到m個的前一個字符,{n}則是連續n個前一個字符,{n,}則是聯繫n到無窮多個前一個字符
二、sed 工具
1 sed本省是一個管道命令,可以分析標轉輸入,而且sed還可以將數據進行替換,刪除,新增,選取特定行等功能
2 sed的'用法
sed [-nefr] [動作]
-n 使用安靜模式,在一般模式中,所有來自stdin的數據一般都會被列出到屏幕上,但是如果加上-n這個參數的話,則只有經過sed特殊處理的那一行才會被列出
-e 直接在命令模式上進行sed的動作編輯
-f 直接將sed的動作寫在一個文件內,-f filename則可以執行filename內的sed動作
-r sed的動作支持的是擴展正則表達式的語法
-i 直接修改文件的內容,而不是由屏幕輸出
3.動作説明 n1,n2 function
n1,n2不見得會存在,一般代表的是進行的動作的行數
function有下面這些參數
a:新增,a的後面可以接字符串,而這些字符串會在新的一行出現,目前的下一行
c:替換,c的後面可以接字符串,這些字符串可以替換n1,n2之間的行
d:刪除,因為是刪除,所以d後面通常不接任何參數
i:插入,i的後面可以接字符串,而這些字符串會在新的一行,目前的上一行
p:打印,也就是將某個選擇的數據打印出來
s:替換,可以直接進行替換的工作
三、文件的格式化以及相關處理
1.格式化打印
printf '打印內容' 實際內容
關於C程序語言內,常見的變量格式
%ns 那個n是數字,s代表的是string
%nd 那個n是數字,d代表的是整數
% 那個n與N都是數字,f代表浮點數
2.文件比較工具diff
diff就是用在比較兩個文件之間的區別,並且是行為單位來比較的,一般是用在ASCLL純文本文件的比較上
diff的用法
diff [-bBi] from_file to_file
-b 忽略一行當中僅有多個空白的區別
-B 忽略空白行的區別
-i 忽略大小寫的不同
3.如果我們要將舊的文件升級成為新的文件時,我們可以先利用diff比較出文件的區別,並將區別文件製作成為補丁文件,再由補丁文件更新舊文件即可。
一般來説我們使用diff製作出來的比較文件通常擴展名為。patch
更新:patch -pN < patch_file
還原:patch -R -pN < patch_file
-
Linux文件系統掛裝與高層體系結構
WindowsXP高昂的價格和升級收費政策使更多企業和個人用户轉向自由開放的Linux操作系統,目標僱主羣會迅速增長。下面是小編整理的關於Linux文件系統掛裝與高層體系結構,希望大家認真閲讀!文件系統體系結構既然已經看到了文件系統的構造方法,現在就看看Linux文件系...
-
linux常用命令記錄大全
Linux雖然是免費的,但它的確是一個非常優秀的操作系統,與MS-WINDOWS相比具有可靠、穩定、速度快等優點,且擁有豐富的根據UNIX版本改進的強大功能。下面讓我們一起來學習Linux的一些主要命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對...
-
Linux技巧總結
1、處理特殊的文件名假設Linux系統中有一個文件名叫-aaa,如果我們想對它進行操作,例如現在要刪除它,如果我們按照一般的刪除方法在命令行中輸入rm-aaa命令,界面將會提示我們是無效選項(invalidoption),原來由於文件名的第一個字符為-,Linux把文件名當作選項了,我們可...
-
即時科研集團的Linux認證體系
即時科研集團首開先河,在國內推出一套全面完善的Linux認證體系——ThizBEST認證。這套認證體系滿足了中國培養不同層次Linux人才的需要。即時自由軟件教育聯盟將在其全國範圍的聯盟體系內推出這套為全方位Linux人才定製的ThizBEST認證體系。ThizBEST...