06_01_bash腳本編程之四 整數(shù)測(cè)試及特殊變量06_02_sed命令

06_01_bash腳本編程之四 整數(shù)測(cè)試及特殊變量

文件測(cè)試(單目測(cè)試):

-e file:?? 文件是否存在;

-f ?file:? ?測(cè)試文件是否為普通文件

-d ?file:??測(cè)試路徑是否為目錄;

-r ?file: ? 測(cè)試文件對(duì)當(dāng)前用戶而言是否可讀;

-w ?file: 測(cè)試文件對(duì)當(dāng)前用戶而言是否可寫;

-x ?file :測(cè)試文件對(duì)當(dāng)前用戶而言是否可執(zhí)行;

圓整:linux中默認(rèn)丟棄小數(shù)點(diǎn)后的內(nèi)容

bash命令:

bash -n ?腳本:測(cè)試腳本是否有語(yǔ)法錯(cuò)誤;

bash -x ?腳本:?jiǎn)尾綀?zhí)行腳本,每一步的過(guò)程都顯示出來(lái);

多分支if語(yǔ)句:

if ? 判斷條件1;then

? ? statement1

? ? ...

elif ? ?判斷條件2;then

? ? statement2

? ? ...

elif ? ?判斷條件3;then

? ? statement3

? ? ...

else

? ? statement4

? ??...

fi

腳本退出命令:

exit ?n:退出腳本的命令,n為數(shù)字,0為正確,1-255為錯(cuò)誤,執(zhí)行狀態(tài)結(jié)果不自定義,則以至exit處為止退出;例如測(cè)試文件是什么文件,如果不存在,直接退出腳本不執(zhí)行:

注:如果腳本沒(méi)有明確定義退出狀態(tài)碼,那么,最后執(zhí)行的一條命令的退出碼即為腳本退出狀態(tài)碼

bash變量類型:

本地變量

環(huán)境變量

位置變量

特殊變量:

$?(獲得命令的執(zhí)行狀態(tài)結(jié)果),

$#(顯示參數(shù)個(gè)數(shù)),

$*(參數(shù)列表),

$@

shift(輪替,后一個(gè)參數(shù)替換一個(gè)參數(shù))


06_02_sed命令

sed基本用法(Stream EDitor):

sed中有模式空間的概念,指定處理哪些行,現(xiàn)將其放入模式空間中,默認(rèn)不編輯源文件,僅對(duì)模式空間中的數(shù)據(jù)做處理,處理完后將模式空間打印出來(lái),也就是處理結(jié)果和模式空間的內(nèi)容各打一份,

用法格式:

sed ?options ?'AddressCommand' ?file: 選項(xiàng) ? 位置+命令 ?文件路徑

options:

-n:靜默模式,不再顯示模式空間中的內(nèi)容,sed默認(rèn)除了打印一遍處理結(jié)果,還會(huì)顯示一遍模式空間;

-i:直接修改原文件;

-e:可同時(shí)執(zhí)行多個(gè)腳本,一次-e代表一次AddressCommand操作;

-f:制定一個(gè)文件,來(lái)作為AddressCommand執(zhí)行腳本;

-r:使用擴(kuò)展正則表達(dá)式;

Address:

1、startline,endline,匹配起始行開始,到結(jié)束行結(jié)束;$表示最后一行

2、/模式(正則)/,匹配符合模式的行;

3、/pattern1/,/pattern2/,從第一次被模式一匹配到的行到匹配到模式二的行結(jié)束;

4、lineNumber,指定匹配行;

5、startline,+N:匹配從指定行開始,向后的N行,不指定即為全文;

Command:

d:刪除符合條件的行,例如刪去匹配到的1和2行,顯示剩下的:

p:顯示符合條件的行

a ? \string:在指定的行后面追加新行,內(nèi)容為“string”

i ? ?\string:在指定的行前面追加新行,內(nèi)容為“string”

r ? ?file:將指定的文件的內(nèi)容添加至符合條件的行處;

w ? file:將指定的文件的內(nèi)容另存至指定的文件中;

s/pattern/string/修飾符:查找并替換,也可寫為s#pattern#string#修飾符,或s@pattern@string@修飾符,被pattern匹配到的字符串替換為string,默認(rèn)只替換每行中第一次被模式匹配到的字符串;

? ? 修飾符:g(全局替換)

? ? ? ? ? ? ? ? ? ?i(忽略字符大小寫)

例如替換/etc/inittab文件中id:3:initdefault:數(shù)字3換為5:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容