if條件語句sed命令

2021-08-09 18:33:25 字數 1834 閱讀 9404

if語句分為三種:

1、單分支結構

if [條件]

then

命令 fi

2.雙分支

3、多分支

練習1:

編寫shell指令碼,當系統記憶體小於一百時,進行郵件警報,並且每隔三分鐘檢驗一次。

free -m 用來檢視系統的記憶體

#!/bin/bash

mem=`free -m | grep buffers/|awk -f " "

''` ##系統剩餘記憶體

if[[ mem > 100 ]]

then

echo "the buffers are $mem"

else

echo "warning" |mail -s "jingbao"

[email protected]

##當系統剩餘記憶體小於100時,傳送標題為jingbao的郵件

之後執行crontab

*/3 * * * * /bin

/bash /root

/panduan.sh >/dev

/null

sed命令

sed實際上並不修改現有檔案。與 grep 一樣 , sed 通常在管道中使用

-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin 的資料一般都會被列出到終端上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。

-e :直接在命令列模式上進行 sed 的動作編輯;

-f :直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的 sed 動作;

-r :sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)

-i :直接修改讀取的檔案內容,而不是輸出到終端。

function:

a :新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~

c :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d :刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;

i :插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);

p :列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起執行~

s :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

ex:

1.以行為單位的新增/刪除

刪除passwd中的第10到15行

[root@foundation62 test]# nl passwd | sed  '10,15d'

##nl表示顯示行號

2.在第二行後(亦即是加在第三行)加上『drink tea?』字樣!

[root@desk test]# cat passwd | sed -e '3i/drink tea?/'

[root@desk test]# cat passwd | sed -e '2a/drink tea?/'

資料的搜尋並替換

除了整行的處理模式之外, sed 還可以用行為單位進行部分資料的搜尋並取代。基本上 sed 的搜尋與替代的與 vi 相當的類似!他有點像這樣:

sed 's/要被取代的字串/新的字串/g'
過濾掉字母後的長度等於num本身的長度,則這個num為純數字

利用expr 命令的返回值不同,可以得到不同的判斷結果

使用sed命令自動生成insert語句

要從檔案中插入一批資料到mongodb中,檔案裡的資料長這樣,分隔符為tab鍵,生成的語句如下,我沒有寫成指令碼,直接用命令處理的,所以分好幾次。db.world.insert afghanistan asia 652230 25500100 20343000000 albania europe 2...

if條件語句

python 的分支結構由 if 語句來操刀實現。if 語句總共有 5 鐘語法結構,其中前 4 種是比較常見的,而最後 1 種是比較炫酷的操作。1.第 1 種是判斷乙個條件,如果這個條件成立,就執行其包含的某條語句或某個 塊。語法結構如下 if 條件 某條語句或某個 塊2.第 2 種同樣是判斷乙個條...

if條件語句

python 嚴格區分縮排 最高端別靠近最左邊 tab鍵 下一級 tab鍵 tab鍵 下兩級 if 表示式 條件成立執行的 else 條件不成立執行的 age int input 請輸入你的年齡 if age 18 字串和數值之間不能用 print good else print 歡迎光臨 if 表...