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

正文內(nèi)容

unix初級講座ch06數(shù)據(jù)處理工具(文件)

2025-10-18 15:39 上一頁面

下一頁面
 

【正文】 MultiMedia Hop Lee 63 167。 ?$只有出現(xiàn)在正則表達(dá)式最尾部時才有特殊意義,否則與其自身匹配; ^只有出現(xiàn)在正則表達(dá)式最首部時才有特殊意義 ,否則與其自身匹配。 –匹配時從左到右掃描并依次將匹配的結(jié)果存入1~9號寄存器中,可以使用 \n引用寄存器的內(nèi)容。 rejects 3 unless /^?\d+$/ warn not an integer。 warn “not a decimal number”。 grep家族 ? grep命令可以在一個文件中搜索指定的字符串。 ?以下是 grep家族選項總結(jié): ?僅適用于 fgrep: – x 嚴(yán)格匹配整行 2022/10/23 BUPT MultiMedia Hop Lee 75 ?僅適用于 grep – s 隱藏錯誤信息 – w 僅匹配整個字 ?僅適用于 egrep和 fgrep – f 匹配指定文件中的字符串 ?適用于 grep, fgrep和 egrep – h 隱藏文件名的顯示 2022/10/23 BUPT MultiMedia Hop Lee 76 – b 顯示匹配行的磁盤塊號 – l 僅顯示發(fā)現(xiàn)匹配的文件名 – c 統(tǒng)計和顯示匹配的數(shù)量 – n 顯示每個匹配行的行號 – v 顯示非匹配的行 – I 忽略大小寫 – e 匹配后面的以“ ”開頭的表達(dá)式 2022/10/23 BUPT MultiMedia Hop Lee 77 ? grep家族的表達(dá)式總結(jié): –僅適用于 grep和 egrep: ?\m 轉(zhuǎn)義元字符 m ?^ 行首 ?$ 行尾 ?. 任意單個字符 ?[xy^$z] x,y,^,$,z中的任意一個字符 ?[^xy^$z] 上式的否定 2022/10/23 BUPT MultiMedia Hop Lee 78 ?[az] 指定的范圍內(nèi)的任一字符 ?[^az] 上式的否定 ? r* 零或多個 r表達(dá)式 ? r1r2 匹配 r1和后續(xù)的 r2(連接) –僅適用于 grep: ?\(r\) 匹配標(biāo)記正則表達(dá)式 ?\n 設(shè)置為匹配第 n個標(biāo)記表達(dá)式 (1~9) 2022/10/23 BUPT MultiMedia Hop Lee 79 –僅適用于 egrep: ? r+ 匹配一個或多個 r ? r? 匹配零個或一個 r ? r1|r2 匹配 r1或 r2 ?(r1|r2)r3 匹配 r1r3或 r2r3 ?(r1|r2)* 匹配零個或多個 r1|r2 2022/10/23 BUPT MultiMedia Hop Lee 80 ?示例: ? [Apple]$ cat myfile blueflybird is me. BLUEFLYBIRD IS ME. Yes,I39。m blueflybird. of course,Blueflybird is me. 2022/10/23 BUPT MultiMedia Hop Lee 86 –查找包括符號 ]和大寫 Y的行 [Apple]$ egrep []Y] myfile BLUEFLYBIRD IS ME. Yes,I39。 ? 如果想查找 BLUEBLUE那一行,則必須使用定位符,如: [Apple]$ egrep ^(BLUE){2}\ myfile1 BLUEBLUE ? 上面的例子查找以兩個連續(xù) BLUE開始的完整單詞的行 2022/10/23 BUPT MultiMedia Hop Lee 91 ? 如要查找以兩個或者兩個以上連續(xù) BLUE開始的完整單詞,則在 2后面加上逗號 2: [Apple]$ egrep ^(BLUE){2,}\ myfile1 BLUEBLUE BLUEBLUEBLUEBLUE ? 如查找以一至三個連續(xù) BLUE開始的完整單詞的行: [Apple]$ egrep (BLUE){1,3} myfile1 BLUE BLUEBLUE BLUEBLUEBLUEBLUE BLUEEE 2022/10/23 BUPT MultiMedia Hop Lee 92 ? 如果要查找以至少 1個或多個 BLUE開始的完整單詞行: [Apple]$ egrep ^(BLUE)+\ myfile1 BLUE BLUEBLUE BLUEBLUEBLUEBLUE ? 如果要查找以 0個或多個 BLUE開始的完整單詞行: [Apple]$ egrep ^(BLUE)*\ myfile1 BLUE BLUEBLUE BLUEBLUEBLUEBLUE 2022/10/23 BUPT MultiMedia Hop Lee 93 ? 如果要查找 0個或 1個以BLUE開始的完整單詞行: [Apple]$ egrep ^(BLUE)?\ myfile1 BLUE ? 非常值得注意的是:上面的命令 (BLUE)?\ 中增加了 \是否完整單詞的測試,如果去掉 \,那麼: [Apple]$ egrep ^(BLUE)? myfile1 blue blueblue blueblueblue BLUE BLUEBLUE BLUEBLUEBLUEBLUE BBLLUUEE BLUEEE 2022/10/23 BUPT MultiMedia Hop Lee 94 ?由于 ^(BLUE)? 表示以 0個或 1個 BLUE開始的行,沒有測試 BLUE是否完整單詞,所以可以匹配任何行,而加了完整單詞測試的命令, 只能匹配有 1個 BLUE開始并是完整單詞的行匹配。流中元素的個數(shù)被稱為流的長度。T貝爾實驗室的 Alfred Aho, Peter Weinberger和 Brian Kernighan開發(fā)的, Brian Kernighan目前仍在維護及增強 awk。 ? 在一條語句中可以省略模式或者動作,缺省的模式為匹配所有行,缺省的動作為輸出當(dāng)前行: print $0 2022/10/23 BUPT MultiMedia Hop Lee 99 ? 正是因為模式和動作可有可無,動作才要被花括號括起來以便與模式相區(qū)別。一行中的第一個字段稱為 $1,第二個字段稱為 $2, …,整個記錄稱為 $0。 ? 常用的轉(zhuǎn)換字符如下表所示: – %c 單個字符 – %d 十進制數(shù) – %e [][+|]dd – %f [] – %g e或 f中較短的,并去掉無用的 0 – %o 無符號八進制數(shù) 2022/10/23 BUPT MultiMedia Hop Lee 102 – %s 串 – %x 無符號十六進制數(shù) – %% 顯示一個 % ? 使用 printf時,不會自動輸出 ORS,必須自己在 format中使用 \n來顯式地產(chǎn)生。 2022/10/23 BUPT MultiMedia Hop Lee 105 三、模式 ? 模式是一種表達(dá)式。 2022/10/23 BUPT MultiMedia Hop Lee 107 ? 當(dāng)用引號括起來的字面字符串用作一個正則表達(dá)式時,如果字符串中含有元字符,需要再加一層反斜線,以保護正則表達(dá)式中的元字符。她具體能表示什么樣的字符集合是和應(yīng)用程序的地區(qū)特性有關(guān)的。和 !可以把簡單的模式組合成復(fù)合模式。 2022/10/23 BUPT MultiMedia Hop Lee 111 四、動作 ? 動作決定對模式選中的記錄進行什么操作。 ? awk還提供了一些內(nèi)部算數(shù)函數(shù): atan1(y,x)、 cos(x)、 exp(x)、 int(x)、 log(x)、rand()、 sin(x)、 sqrt(x)和 srand(x) 其中 x、 y是任意表達(dá)式。 ? 流控: awk提供和 C語言相似的流控語句 : – if (condition) statement [ else statement ] – while (condition) statement – do statement while (condition) – for (expr1。 FILENAME和ARGIND被更新, FNR被置為 1 – system(cmdline) ? 執(zhí)行 Shell命令 cmdline并返回命令的退出狀態(tài) – fflush([file]) ? 刷新輸出文件的緩沖區(qū) – 其他的 I/O重定向也可在 awk中使用。 2022/10/23 BUPT MultiMedia Hop Lee 118 六、函數(shù) ? 用戶可以自己定義函數(shù),語法為: function function_name(arg_list) { statements } ? 數(shù)組參數(shù)可通過引用傳遞,標(biāo)量參數(shù)將用值傳遞。因為空格是字符串串接運算符。 ? 可以用 delete語句刪除數(shù)組元素: delete array_name[subscripts] ? 時間函數(shù): – systime() 返回從 Epoch到現(xiàn)在的秒數(shù) 2022/10/23 BUPT MultiMedia Hop Lee 120 – strftime([format [, timestamp]]) 返回用 format格式化后的 timestamp指定的時間(缺省為當(dāng)前時間) ? 任何以 開頭的行都是注釋。{if (NF max) max = NF} END {print max}39。 此程序會顯示出超過 80 個字符的每一行。 顯示擁有至少一個字段的所有行。 i = 7。{x += $4}。{if (x length()) x = length()} EN。 此程序會顯示出所有指定的文件的總字節(jié)數(shù)。 此程序會顯示出范圍是 0 到 100 之間的 7 個隨機數(shù)。 2022/10/23 BUPT MultiMedia Hop Lee 123 –4. awk 39。 – 3. awk 39。 – 2. awk 39。 ? 續(xù)行符為 \。數(shù)組和數(shù)組元素?zé)o須聲明,通過使用她來表明她的存在。 ? return語句可有可無。同樣的 mand | getline將會使得 getline函數(shù)從管道中讀取數(shù)據(jù)。 expr3) statement – for (var in array) statement – break – continue 2022/10/23 BUPT MultiMedia Hop Lee 115 – delete array[index] – delete array – exit [ expression ] – { statements } 語句塊 ? next語句導(dǎo)致 awk立即跳至下一條記錄。 2022/10/23 BUPT MultiMedia Hop Lee 112 ? awk提供的串運算符只有一個: space,進行串的串接。 ? awk可以使用傳統(tǒng)的算數(shù)表達(dá)式來計算數(shù)值,算數(shù)運算在內(nèi)部以浮點形式完成。 ? 模式范圍由逗號分隔的兩個模式組成: pattern1,pattern2 {action} 表示對于在 pattern1和 pattern2出現(xiàn)之間的每一條記錄都要執(zhí)行動作。 ? 常用的字符類有: – [:alnum:] 字母或數(shù)字字符 – [:alpha:] 字母字符 – [:blank:] 空格或制表符 – [:trl:] 控制字符 – [:digit:] 數(shù)字字符 – [:graph:] 既能看見又能打印的字符 2022/10/23 BUPT MultiMedia Hop Lee 109 – [:lower:] 小寫字母字符 – [:print:] 可打印字符(非控制字符) – [:punct:] 標(biāo)點符號字符 – [:space:] 空白字符,包括空格、制表、換頁等 – [:upper:] 大寫字符 – [:xdigit:]十六進制數(shù)字字符 2022/10/23 BUPT MultiMedia Hop Lee 110 ? 模式組合:用圓括號和邏輯運算符 ||、 amp。這個概念來自于 POSIX標(biāo)準(zhǔn)。 ? 關(guān)系表達(dá)式: awk有 6個關(guān)系運算符和 2個正則表達(dá)式匹配運算符: – 小于 – = 小于等于 – == 等于 – != 不等于 2022/10/23 BUPT MultiMedia Hop Lee 106 – = 大于等于 – 大于 – ~ 匹配 – !~ 不匹配 –在比較表達(dá)式中,若兩個操作數(shù)都是數(shù)值,則進行數(shù)值比較,否則進行串比較。 ? awk的內(nèi)部變量有: – ARGC 命令行參數(shù)的個數(shù) – ARGCIND 當(dāng)前命令行參數(shù)下標(biāo) – ARGV 命令行參數(shù)數(shù)組 – ENVIRON 環(huán)境變量數(shù)組 – FILENAME 當(dāng)前輸入文件名 – FNR 當(dāng)前文件中的記錄號 – FS 字段分隔符 – IGNORECASE 忽略正則表達(dá)式和串的大小寫 2022/10/23 BUPT MultiMe
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1