您好,登錄后才能下訂單哦!
本篇內容主要講解“Linux正則表達式與文件格式化處理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux正則表達式與文件格式化處理”吧!
sed 本身也是一個管線命令,可以分析 standard input 的啦! 而且 sed 還可以將數據進行取代、刪除、新增、擷取特定行等等的功能呢。
范例一:將 /etc/passwd 的內容列出并且打印行號,同時,請將第 2~5 行刪除!
[dmtsai@study ~]$ nl /etc/passwd | sed '2,5d' 1 root:x:0:0:root:/root:/bin/bash 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
格式化打印: printf
范例一:將剛剛上頭數據的文件 (printf.txt) 內容僅列出姓名與成績:(用 [tab] 分隔) [dmtsai@study ~]$ printf '%s\t %s\t %s\t %s\t %s\t \n' $(cat printf.txt) Name Chinese English Math Average DmTsai 80 60 92 77.33 VBird 75 55 80 70.00 Ken 60 90 70 73.33
awk 也是一個非常棒的數據處理工具!相較于 sed 常常作用于一整個行的處理, awk 則比較 傾向于一行當中分成數個“字段”來處理。因此,awk 相當的適合處理小型的數據數據處理呢! awk 通常運行的模式是這樣的:
[dmtsai@study ~]$ awk '條件類型1{動作1} 條件類型2{動作2} ...' filename
若我想要取出帳號與登陸者的 IP ,且帳號與 IP 之間以 [tab] 隔開,則會變成這樣:
[dmtsai@study ~]$ last -n 5 | awk '{print $1 "\t" $3}' dmtsai 192.168.1.100 dmtsai 192.168.1.100 dmtsai 192.168.1.100 dmtsai 192.168.1.100 dmtsai Fri
范例一:比對 passwd.old 與 passwd.new 的差異: [dmtsai@study testpw]$ diff passwd.old passwd.new 4d3 <==左邊第四行被刪除 (d) 掉了,基準是右邊的第三行 < adm:x:3:4:adm:/var/adm:/sbin/nologin <==這邊列出左邊(<)文件被刪除的那一行內容 6c5 <==左邊文件的第六行被取代 (c) 成右邊文件的第五行 sync:x:5:0:sync:/sbin:/bin/sync <==左邊()文件第六行內容 > no six line <==右邊(>)文件第五行內容
#很聰明吧!用 diff 就把我們剛剛的處理給比對完畢了!
patch patch 這個指令與 diff 可是有密不可分的關系啊!我們前面提到,diff 可以用來分辨兩個版本 之間的差異, 舉例來說,剛剛我們所創建的 passwd.old 及 passwd.new 之間就是兩個不同版 本的文件。 那么,如果要“升級”呢?就是“將舊的文件升級成為新的文件”時,應該要怎么做 呢? 其實也不難啦!就是“先比較先舊版本的差異,并將差異檔制作成為補丁文件,再由補丁 文件更新舊文件”即可。
到此,相信大家對“Linux正則表達式與文件格式化處理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。