perl調(diào)用外部命令(g)awk的方法
更新時間:2013年02月08日 20:21:43 作者:
perl為行讀取方式,有著強大的對行處理的能力,同樣,通過內(nèi)部命令和巧妙的編程技巧,其對列的處理能力同樣不可小覷
但是,linux系統(tǒng)的常用小工具awk天生對列操作友好,有時直接在perl中調(diào)用awk比寫相應(yīng)的perl腳本要方便有效的多。比如用system插入awk語句:
復(fù)制代碼 代碼如下:
system(gawk '{print $1}' $filename);
執(zhí)行該l語句,你會發(fā)現(xiàn)這行會報錯,提示你使用了read-only 的變量$1。
那么,如何處理兩種生態(tài)系統(tǒng)下的沖突呢?
有一個簡單的解決辦法:
復(fù)制代碼 代碼如下:
my $i="$1";
system(gawk '{print $i}' $filename);
這樣便解決了(g)awk的$1和perl的 內(nèi)置變量$1的沖突的問題了。
相關(guān)文章
Perl實現(xiàn)的Linux下socket代理服務(wù)器
這篇文章主要介紹了Perl實現(xiàn)的Linux下socket代理服務(wù)器,比較簡潔的一個版本,需要的朋友可以參考下2014-08-08Perl 文本文件的讀寫操作、文件的重命名和刪除、多個文本文件的合并實現(xiàn)代碼
Perl 文本文件的讀寫操作、文件的重命名和刪除、多個文本文件的合并實現(xiàn)代碼,需要的朋友可以參考下2013-02-02Perl的Mail::POP3Client模塊和Gmail通信實例
這篇文章主要介紹了Perl的Mail::POP3Client模塊和Gmail通信實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-05-05