序言:我為什麼學Perl
曾經,我熟練操作grep、awk、sed,甚至自認對sed尚算精通,我一度愛上了寫指令碼。但是隨著寫指令碼的次數多了,需求複雜了,我深深的感受到shell的無奈。
例如,我多次遇到過類似下面這種噁心的需求:
sed ... | awk ...
其中sed要操作第2到第5行,同時awk要操作中間的第3行,在awk操作第3行的時候,sed的第2行不能丟棄。
對於shell來說這基本上是不可能實現的,因為它通過管道在各命令之間傳遞資料,這使得管道前面的資料必須傳遞給管道後面,而資料一被管道傳遞就從管道左邊程式的快取中消失了,也就是不可重用了。
於是我學了Perl,在這之前我也學了python,但是學過Perl之後,在我覺得shell難以實現的時候,我的第一想法幾乎總是使用Perl去實現指令碼,而不是用python。
本文我要分享的是一行式Perl程式,它完全可以替代grep+sed+awk,且功能還更強大。文章篇幅稍大,可算是一本較薄的書,但除了專門的perl正則表示式之外(如果沒有學過程式語言的正則的話。我也寫過一篇非常詳細又0基礎友好的Perl正則,如有需求,可參見Perl正則表示式超詳細教程),其它的都絕對基礎,我解釋的也足夠簡單,只要認真看,它真的比awk更簡單。按照我現在的感受,我花上幾天時間去深入掌握awk,真不如去學Perl一行式。
Perl一行式系列文章:Perl一行式程式
如果覺得文章不錯,請幫忙點下右下角的贊。感謝!!!
相關推薦
序言:我為什麼學Perl
曾經,我熟練操作grep、awk、sed,甚至自認對sed尚算精通,我一度愛上了寫指令碼。但是隨著寫指令碼的次數多了,需求複雜了,我深深的感受到shell的無奈。 例如,我多次遇到過類似下面這種噁心的需求: sed ... | awk ... 其中sed要操作第2到第5行,同時awk要操作中間的第3行,
React從入門到架構(0)--序言:我的前端發展歷程
我個人做前端開發是有過一個斷層的。 第一階段(切片階段) 在10年的時候,前端的工作,更多的是在切片的層面上,從IPO(input->process->output)的層面上講: input:輸入的是PS產出的頁面圖片; process:前端的工作是,拿到
我學cocos2d-x (三) Node:一切可視化對象的祖先
父類 顯示 fine rtu cocos2 static trac 坐標 ati 在cocos2d-x中一切可視化的對象都繼承自Node(如文字(label)、精靈(sprite)、場景(scene)、布局(layer))。這是一個純虛類。主要負責決定元素顯示的位置
學神:我天天玩沒怎麽學。但是你怎麽成了學神?
自己的 之間 要求 事情 代碼 必須 html 解釋 社會 作者:@nele本文為作者原創,轉載請註明出處:http://www.cnblogs.com/nele/p/7615447.html 還記得上學時候那些天天玩,每當考試都能名列前茅的同學嘛?可能所有人都覺得都
跟我學ASP.NET MVC之一:開篇有益
了解 軟件 搜索引擎 路由 繼承 簡單 工廠 平臺 抽象層 摘要: ASP.NET MVC是微軟的Web開發框架,結合了模型-視圖-控制器(MVC)架構的有效性和整潔性,敏捷開發最前沿的思想和技術,以及現存的ASP.NET平臺最好的部分。它是傳統ASP.NET Web F
跟我學ASP.NET MVC之四:使用Razor
ima pre 技術分享 C# 圖模型 med 執行 sys fonts 摘要: 視圖引擎處理ASP.NET內容,並查找指令,典型情況是向瀏覽器輸出插入動態內容。MVC框架視圖引擎的名字是Razor。 在本文中,我將帶領讀者快速認識Razor,以後你們看到他們的時候能夠
跟我學ASP.NET MVC之七:SportsStrore購物車
repos ras img sports collect dev PC RM VC 摘要: SportsStore應用程序進展很順利,但是我不能銷售產品直到設計了一個購物車。在這篇文章裏,我就將創建一個購物車。 在目錄下的每個產品旁邊添加一個添加到購物車按鈕。點擊這個按
跟我學ASP.NET MVC之八:SportsStrore移動設備
ima 支持 web瀏覽器 css 客戶端瀏覽器 nts oat 重新 menu 摘要: 現在的web程序開發避免不了智能手機和平板電腦上的使用,如果你希望發布你的應用程序給更廣大客戶使用的話,你將要擁抱可移動web瀏覽器的世界。向移動設備用戶發布一個好的使用體驗是很困難
性別歧視在日本:“我是女生,所以社會不讓我學醫”
持久 Once published mina 入學考試 desc 發生 rim rime 今日導讀大家在看病的時候,有留意過女醫生的比例嗎?在性別歧視現象十分嚴重的日本,男醫生和女醫生的比例達到了驚人的 4:1。 而就在最近,聲名遠揚的東京醫科大學竟然爆出蓄意降低女性考生的
【跟我學oracle18c】第十八天:EXTENDED DATA-LINKED專項測試
EXTENDED DATA-LINKED:共享公共物件的元資料和資料給Application PDB,在Application PDB內可以
【跟我學oracle18c】第十八天:DATA-LINKED專項測試
DATA-LINKED:共享公共物件的元資料和資料給Application PDB,在Appliation PDB中僅可查詢公共物件在Application root記憶
【跟我學oracle18c】第十八天:METADATA-LINKED專項測試
METADATA-LINKED:共享公共物件的元資料給Application PDB,不可以檢視公共物件在Application root記憶體儲的資料,在Appliation PDB內可插入本地資料。 這句話整理出來幾點
【跟我學oracle18c】第十八天:Multitenant Architecture:2.3 Application root,pdb,Container Maps專項測試(對應例項實踐)
對映表指定元資料鏈接的公共表中的一列,並使用分割槽將不同的應用程式PDBs與不同的列值關聯起來。通過這
【跟我學oracle18c】第十八天:Multitenant Architecture:2.3 Overview of Applications in an Application Container
2.3 Overview of Applications in an Application Container 在應用程式容器中,應用程式是儲存在應用程式root中的命名的、版本化的公共資料和元資料集. 在應用程式容器的上下文中,術語“應用程式”指的是“主應用程式定義”。例如,應
【跟我學oracle18c】第十七天:Multitenant Architecture多租戶框架:2.2 Overview of Commonality in the CDB(藍色感悟)
在CDB中,每個使用者、角色或物件都是通用的或本地的。類似地,通常或區域性授予特權. This section contains the following topics: About Commonality in a CDB A common phenomenon defined i
【跟我學oracle18c】第十六天:Multitenant Architecture多租戶框架:2.1 Overview of Containers in a CDB(藍色感悟)
容器是多租戶容器資料庫(CDB)中的模式、物件和相關結構的集合。在CDB中,每個容器都有唯一的ID和名稱 This section contains the following topics: The CDB Root and System Container The CDB
【跟我學oracle18c】第十五天:Multitenant Architecture多租戶框架:1.3 Path to Database Consolidation
在其存在期間, a database is either a CDB or a non-CDB. 您必須在建立時將資料庫定義為CDB,然後在這個CDB中建立PDBs和應用程式容器。. You cannot later transform a non-CDB into a CDB, or a CD
一個野生程式設計師的真實自述:我是如何從數學專業學渣入坑程式設計師的
1、引言 “恭喜你,成功的避過了所有的正確答案,選擇了錯誤答案”。沒錯,我是一個數學專業的普通大學生(準確地說,是學渣一枚),排除萬難,我終於還是入了程式設計師的坑(不好意思,給程式設計師抹黑了)! (本文同步釋出於:http:/
【跟我學oracle18c】第四十三天:2 Day DBA:9.4 Backing Up Your Database
這一章節與oracle10g,11g無任何區別,僅轉載,不做實踐 9.4 Backing Up Your Database 節描述如何使用Oracle Recovery Manager (RMAN)備份資料庫。Oracle建議的磁碟備份策略提供了資料庫的有效每日備
【跟我學oracle18c】第四十五天:2 Day DBA:10.2 Diagnosing Performance Problems Using ADDM
10.2 Diagnosing Performance Problems Using ADDM At times, database performance problems arise that require your diagnosis and correction. Usual