freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

unix初級(jí)講座ch06數(shù)據(jù)處理工具-閱讀頁

2024-10-19 15:39本頁面
  

【正文】 運(yùn)算符 – =~: $string=~/pattern/表示對(duì)字符串 $string用模式 /pattern/進(jìn)行運(yùn)算 – !~:不相匹配運(yùn)算符 –單目運(yùn)算符 *、 +和 ?優(yōu)先級(jí)最高,其次是串接符,最后是 |。 ? 三、常用的函數(shù) – tr tr/srchlist/repllist/,把 srchlist轉(zhuǎn)換為 repllist – s s/PATTERN/REPLACE/eg,用 REPLACE替換 PATTERN 2022/10/23 BUPT MultiMedia Hop Lee 69 ?四、標(biāo)記正則表達(dá)式 –標(biāo)記正則表達(dá)式是用 \(和 \)括起來的部分。 –例: ‘ \([az]\)\([az]\)[09]\2\1?,這個(gè)標(biāo)記正則表達(dá)式將匹配所有由 5個(gè)字符組成、并且中間一位是數(shù)字的回文字符串。 unless /^\d+$/ warn not a natural number。 rejects +3 unless /^[+]?\d+$/ warn not an integer“。 rejects .2 unless /^?(?:\d+(?:\.\d*)?|\.\d+)$/。 unless /^([+]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+]?\d+))?$/。 2022/10/23 BUPT MultiMedia Hop Lee 72 167。其基本語法為: grep [options] [e] ?pattern? [filenames] – filenames是一系列用空格格開的文件名,輸出結(jié)果時(shí)會(huì)在每個(gè)匹配之前顯示文件名 –如果沒有 filenames參數(shù),則 grep命令將掃描標(biāo)準(zhǔn)輸入 –缺省情況下 grep將輸出匹配指定模式的每一行 2022/10/23 BUPT MultiMedia Hop Lee 73 –在 pattern中如果含有元字符的話必須將其轉(zhuǎn)義,使用‘或 \或“ ? fgrep命令是 grep的一個(gè)簡化版本,僅用于查找固定的字符串而不允許使用正則表達(dá)式。 2022/10/23 BUPT MultiMedia Hop Lee 74 ?egrep命令具有 fgrep的一些特征,同時(shí)也能使用正則表達(dá)式、增加了一些查找技巧,但是不支持 grep和 ed命令中的標(biāo)記表達(dá)式 (Tag Expression)。m blueflybird. of course,Blueflybird is me. Of Course,BLUEFLYBIRD IS ME. [BLUEBLUE BLUE by BLUE blue bird bird ] 2022/10/23 BUPT MultiMedia Hop Lee 81 ?分支、塊、原子 [Apple]$ egrep ^blueflybird|BLUEFLYBIRD.*E\.$ myfile blueflybird is me. BLUEFLYBIRD IS ME. Of Course,BLUEFLYBIRD IS ME. –上面的命令包括兩個(gè)分支,用 |分開,意思是查找 myfile文件中,以小寫 blueflybird開頭的行,或者是含有大寫 BLUEFLYBIRD單詞并且以 。m blueflybird. 2022/10/23 BUPT MultiMedia Hop Lee 83 ?匹配行首 ^ –如果要查找 myfile文件中以小寫 b開頭的行: [Apple]$ egrep ^b myfile blueflybird is me. –如想查找以小寫 b或者大寫 B開始的行: [Apple]$ egrep ^[bB] myfile blueflybird is me. BLUEFLYBIRD IS ME. 2022/10/23 BUPT MultiMedia Hop Lee 84 ?匹配任一字符 . –.通常與其他 meta字符聯(lián)合使用,因?yàn)?.代表任一字符,如下面的命令表示查找以任一字符開頭,第二個(gè)字符是 f 的行: [Apple]$ egrep ^.f myfile of course,Blueflybird is me. Of Course,BLUEFLYBIRD IS ME. 2022/10/23 BUPT MultiMedia Hop Lee 85 ? 匹配 []內(nèi)列出的字符 –查找包括有小寫 o與大寫 O的行: [Apple]$ egrep [oO]f myfile of course,Blueflybird is me. Of Course,BLUEFLYBIRD IS ME. –查找不包括小寫 o與大寫 O的行 [Apple]$ egrep [^oO]f myfile blueflybird is me. Yes,I39。m blueflybird. Of Course,BLUEFLYBIRD IS ME. [BLUEBLUE BLUE by BLUE blue bird bird ] –查找所有以大寫字母開始的行 [Apple]$ egrep ^[AZ] myfile BLUEFLYBIRD IS ME. Yes,I39。 2022/10/23 BUPT MultiMedia Hop Lee 90 ? 警告:本來要查 BLUEBLUE,為甚麼上面還列出了三個(gè)連續(xù)的 BLUE呢?因?yàn)?BLUEBLUEBLUE包括了 BLUEBLUE。 2022/10/23 BUPT MultiMedia Hop Lee 95 167。流中所有的元素都具有相同的數(shù)據(jù)類型。對(duì)流可以進(jìn)行讀寫操作。 awk ? awk是一種編程語言,她是由 ATamp。 ? awk能非常方便地處理與數(shù)據(jù)加工和信息檢索相關(guān)的任務(wù)。 2022/10/23 BUPT MultiMedia Hop Lee 98 一、 awk基礎(chǔ) ? 一個(gè) awk程序是由一系列的“模式-動(dòng)作”語句構(gòu)成的: pattern {action} pattern {action} pattern {action} …… ? awk程序?yàn)槊總€(gè)輸入行依次地進(jìn)行每一個(gè)模式的匹配尋找,對(duì)每一個(gè)匹配上的模式執(zhí)行相應(yīng)的動(dòng)作,接著讀取下一行并再次開始匹配,直到所有的輸入都處理完畢。 ? awk的程序可以以兩種方法來運(yùn)行: –直接命令行方式: awk ?patternaction statements? input_file_list 其中“模式-動(dòng)作”語句必須括在單引號(hào)中。 ? 然后 awk將記錄分割為一個(gè)個(gè)的字段,缺省的 FS為 Blank。 ? awk提供了 print和 printf語句用于顯示輸出。 2022/10/23 BUPT MultiMedia Hop Lee 101 ? printf為格式化輸出語句: printf format,expr1,expr2,…,exprN format含有要顯示的信息以及要轉(zhuǎn)換的規(guī)格說明,其語法與 C語言中的輸出函數(shù)中的格式說明類似。 2022/10/23 BUPT MultiMedia Hop Lee 103 二、變量 ? awk的變量分為內(nèi)部變量和用戶定義的變量兩種。 ? 用戶定義的變量類似于 Shell中的情形。 ? BEGIN和 END是兩個(gè)特殊的模式, BEGIN在第一條記錄被讀取之前匹配, END在最后一條記錄處理完之后匹配。 –類型強(qiáng)制轉(zhuǎn)換: num ””, string+0 ? 正則表達(dá)式: awk把在“ ~”和“ !~”右邊的任一串或變量都解釋為一個(gè)正則表達(dá)式。 ? awk里引入了一個(gè)新的概念:字符類。 ? 字符類是一種特殊的表達(dá)式,用于描述具有某種特定屬性的字符集合。 2022/10/23 BUPT MultiMedia Hop Lee 108 ? 字符類只能在正則表達(dá)式中的一對(duì)方括號(hào)中出現(xiàn),用于表示特定的字符集合。amp。優(yōu)先級(jí)從左到右依次增高。包括 pattern1和 pattern2。 ? awk的運(yùn)算包括算數(shù)運(yùn)算和串運(yùn)算。常用的算數(shù)運(yùn)算符有: +、 、 *、 /、 ++、 、 %、 ^、 +=、 =、 *=、 /=、 %=、 ^=和 =,其含義和 C語言里一樣。 Rand()返回 (0,1)范圍內(nèi)的隨機(jī)數(shù),srand(x)用于設(shè)置 rand()的種子。 ? awk提供的串函數(shù)有: – gsub(r,s) ?將當(dāng)前記錄中的 r替換為 s,全局,返回替換數(shù) – gsib(r,s,t) ?在串 t中全局用 s替換 r,返回替換數(shù) – index(s,t) ?返回 s中串 t的位置,不出現(xiàn)時(shí)為 0 – length(s) ?返回串 s的長度 2022/10/23 BUPT MultiMedia Hop Lee 113 – match(s,r) 返回 r在 s中出現(xiàn)的位置,不出現(xiàn)時(shí)為 0 – split(s,a) 利用 FS把 s分裂成數(shù)組 a,返回字段數(shù) – split(s,a,r) 利用 r把 s分裂成數(shù)組 a,返回字段數(shù) – sprintf(fmt,expr_list) 根據(jù)格式串 fmt,返回經(jīng)過格式編排的 expr_list – sub(r,s) 在當(dāng)前記錄中把第一個(gè) r替換成 s之后的部 分,返回替換的個(gè)數(shù) – sub(r,s,t) 在 t中把第一個(gè) r替換成 s之后的部分 – substr(s,p) 返回從位置 p開始的 s之后的部分 – tolower(s) 將串 s中的大寫字母改為小寫 – toupper(s) 將串 s中的小寫字母改為大寫 2022/10/23 BUPT MultiMedia Hop Lee 114 – substr(s,p,n) 返回從位置 p開始、長度為 n的 s的子串 – 其中, r代表一個(gè)正則表達(dá)式, s和 t代表串表達(dá)式, n和 p代表整數(shù)。 expr2。 2022/10/23 BUPT MultiMedia Hop Lee 116 五、 I/O語句 ? awk的輸入、輸出語句如下所示: – close(file) ? 關(guān)閉文件 (或管道 ) – getline ? 從當(dāng)前輸入、文件或管道中讀取下一個(gè)輸入記錄,并進(jìn)行通常的字段分裂處理,同時(shí)設(shè)置 NF, NR和 FNR. – getline file ? 從文件中 getline – getline var ? 讀取下一條記錄并將其賦給 var,同時(shí)設(shè)置 NR和 FNR – getline var file ? 從文件中讀取下一條記錄并將其賦給 var,同時(shí)設(shè)置 NR和 FNR – next ? 立即從第一個(gè)模式開始處理下一條記錄 2022/10/23 BUPT MultiMedia Hop Lee 117 – nextfile ? 停止處理當(dāng)前輸入文件,立即處理下一輸入文件。對(duì)于 print和 printf語句,file會(huì)將輸出追加到 file文件中, |會(huì)將輸出送到管道中。 – 當(dāng)遇到文件結(jié)束時(shí), getline將返回 0,任何錯(cuò)誤將導(dǎo)致getline返回 1。 ? 在函數(shù)內(nèi)部的形式參數(shù)是局部變量,其他變量都是全局變量。 ? 函數(shù)在調(diào)用時(shí)在函數(shù)名與實(shí)參表的左括號(hào)之間不得留有空格。 2022/10/23 BUPT MultiMedia Hop Lee 119 七、其他 ? awk提供一維數(shù)組。 ? 數(shù)組下標(biāo)可以是一個(gè)數(shù)或串: arr[x]和 arr[“x”] ? 可以使用 for語句對(duì)數(shù)組所有定義了的下標(biāo)進(jìn)行循環(huán): for (i in arr) statement,此時(shí)下標(biāo)是隨機(jī)選取的。 ? 幾個(gè)語句可以用分號(hào)分隔以便出現(xiàn)在同一行上。 2022/10/23 BUPT MultiMedia Hop Lee 121 八、限制 ? 100個(gè)字段 ? 每個(gè)輸入記錄 2500個(gè)字符 ? 每個(gè)輸出記錄 2500個(gè)字符 ? 每個(gè)單個(gè)字段 1024個(gè)字符 ? 每個(gè) printf串 1024個(gè)字符 ? 括起來的串 400個(gè)字符 ? 字符類 400個(gè)字符 ? 15個(gè)打開的文件 ? 1個(gè)管道 ? 數(shù)值的大小由本地機(jī)器限制 2022/10/23 BUPT MultiMedia Hop Lee 122 九、 幾個(gè)實(shí)例 – 1. awk 39。 此程序會(huì)顯示所有輸入行之中字段的最大個(gè)數(shù)。length($0) 8039。此處只有模式被列出,動(dòng)作是采用缺省值顯示整個(gè)記錄。NF 039。這是一個(gè)簡單的方法,將一個(gè)文件里的所有空白行刪除。BEGIN {for (i = 1。 i++) print int(101 * rand())}39。 –5. ls l files | awk 39。 END {print total bytes: x}39。 2022/10/23 BUPT MultiMedia Hop Lee 124 – 6. expand file | awk 39
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1