shell本文操作

2021-07-22 09:58:54 字數 1445 閱讀 7442

顯示第1行

sed -n 1p f1.sh
顯示1,3行

sed -n

'1p;3p' f1.sh

sed -n

-e1p -e

3p f1.sh

顯示1-3行

sed -n 1,3p f1.sh
顯示最後一行

sed -n '$p' f1.sh
顯示含「love」且含」you「的行

grep love f1.sh | grep unix f1.sh
在第1行前插入1行』hello』內容:

sed -i '1i hello' f1.sh #-i表示直接寫檔案,否則只是寫檔案副本。
在第1行後插入2行』hello』,』world』內容:

sed -e

'1a hello'

-e'1a world' f1.sh

把第1行替換為hello:

sed "1c hello" f1.sh
將第1行中的unix替換為hello:

sed '2s/unix/hello/g' f1.sh #末尾的g表示替換匹配的全部字串,否則只會替換第乙個匹配
將全文中的love替換為like:

sed 's/love/like/g' f1.sh #g表示替換一行中的所有
在第1行首新增hello:

sed '1s/^/hello/' f1.sh #實際用了替換,^表示行首
在第1行尾新增hello:

sed "1s/$/hello/" f1.sh

#$表示行尾

刪除第1行的love:

sed "1s/love//g" f1.sh

#替換為none

刪除第1行:

sed '1d' f1.sh
路徑的替換,特殊在於有」/」,如將」/var/log/tomcat」替換為」log_dir/tomcat」:

log_dir=/var/log

#由於替換文字中有'/',故sed命令中用':'做分隔符,

#也可用其他符號做分隔符,只要分隔符不與替換字串中的字元重複

linux自帶的替換表示式,效率更高,也可用於路徑替換:

log_dir=/var/log

# $

對倒數第2-4行進行操作:

對含love且不含you的行作操作:

shell指令碼檔案引數

本文編輯自 當我們我們向 指令碼檔案傳遞引數 可以通過 1,2 等特殊變數。很方便,但是有些限制,就是不能超過9個引數。通過使用 shift getopts 我們能更方便地提取引數。一 shift 通過使用 shift 我們將 shell指令碼檔案 的引數起點從左向右移。在shift命令中可以給乙個...

Shell指令碼檔案練習

使用if條件語句來判斷 media cdrom檔案是否存在,若存在就結束條件判斷和整個shell指令碼,反之則去建立這個目錄 vim mkcdrom.sh bin bash ping c 3 i 0.2 w 3 1 dev null if eq 0 then echo host 1 is on li...

shell指令碼讀寫文字檔案

通過讀寫臨時檔案來完成核心與介面的互動是目前接觸的比較常用手段。而寫操作的格式如何呢。mdate date r d m y logfile tmp hdstatuslog.log echo disk is good mdate logfile 寫到檔案的格式就會變成這樣 dev sdc is goo...