馬上碼特色 先來點(diǎn)詩句春日 朱熹(1130年9月15日~1200年4月23日),行五十二,小名沋郎,小字季延,字元晦,一字仲晦,號晦庵,晚稱晦翁,又稱紫陽先生、考亭先生、滄州病叟、云谷老人、滄洲病叟、逆翁。謚文,又稱朱文公。 勝日尋芳泗水濱,無邊光景一時新。 等閑識得東風(fēng)面,萬紫千紅總是春。 awk(關(guān)鍵字:分析&處理)作為一種可編程的編輯器,面向字符流,并可解釋編輯命令腳本,廢棄了sed的行編輯命令集,仿效C語言, 一行一行的分析處理,傾向于一行當(dāng)中分成數(shù)個"字段"(區(qū)域)來處理。 基本工作方式: 1、awk [選項參數(shù)] '條件類型1{動作1}' 文件名,默認(rèn)的分隔符是空格鍵或制表符tab 2、執(zhí)行awk腳本方式,awk -f awk腳本文件名 被處理文件名, 可以不指定編輯器為awk,先vi編輯shell腳本文件,文件名后綴為.sh,不過在開頭需要指定#! /bin/awk 例: awk '/test/ {print NR}' q 將帶有test的行的行號打印出來, 注意//之間可以使用正則表達(dá)式 sed(關(guān)鍵字: 編輯)作為一個為特別目的面建立的編輯器,不可交互使用,面向字符流,專門用于執(zhí)行腳本,以行為單位的文本編輯工具 sed可以直接修改檔案, 不過一般不推薦這么做, 可以分析 standard input 基本工作方式: sed [-nef] '[動作]' [文件名] -n :安靜模式, 一般sed用法中, 來自stdin的數(shù)據(jù)一般會被列出到屏幕上, 如果使用-n參數(shù)后, 只有經(jīng)過sed處理的那一行被列出來。 -e :直接在命令列模式上進(jìn)行 sed 的動作編輯; -f :直接將 sed 的動作寫在一個文件內(nèi), -f filename 則可以運(yùn)行 filename 內(nèi)的 sed 動作; -i :直接修改讀取的文件內(nèi)容,而不是輸出到終端。 動作說明: [n1[,n2]]functionn1, n2 :不見得會存在,一般代表『選擇進(jìn)行動作的行數(shù)』, 例:如果我的動作是需要在 10 到 20 行之間進(jìn)行的,則『 10,20[動作行為] 』 動作: a:新增, a 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的下一行)~ c:取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行! d:刪除,因為是刪除,所以 d 后面通常不接任何字符; i:插入, i 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的上一行); p:列印,亦即將某個選擇的數(shù)據(jù)印出。通常 p 會與參數(shù) sed -n 一起運(yùn)行; s:取代,類似vi中的取代,通常這個 s 的動作可以搭配正規(guī)表示法! 例: sed '/^$/d' filename #刪除空行 sed 's/ //g' filename sed 's/[[:space:]]//g' filename sed '1d' filename #刪除第一行 原文件 sed之后的文件 我在學(xué)linux——shell腳本實(shí)例(監(jiān)控Oracle數(shù)據(jù)庫)之積土成山,風(fēng)雨興焉? |
|