perl 使用小結

2021-09-22 11:18:27 字數 2422 閱讀 1400

環境設定:如果有系統字元編碼 衝突,在當前

vim 

~/.bash_profile 下加入

lang

=zh_cn

lc_all

=zh_cn

.utf8

export lang lc_all

字元編碼轉化:#

由decode解析,缺省會使用 系統編碼 輸出

# 在 linux 下面其實等價 encode("utf-8", decode("gbk",$_));

perl 

-mencode 

-ne 

'print decode("gbk",$_);

'file

.txt

判斷資料是否符合輸出:

echo 

"121"|

perl 

-ne 

'print if /2/;'#

print 123

匹配正則group輸出

:echo 

"abc121a"|

perl 

-ne 

'print $1 if /(\d+)/;'#

print abc

大小寫轉化:

#全部 大小轉小寫

echo 

"abc1c2cgj"|

perl 

-ne 

'tr/[a-z]/[a-z]/; print ;'#

print

# "l 中間全部小寫 "e   ; "u 中間全部大寫 "e    ↓

echo 

"abc1c2cgj"|

perl 

-ne 

's/(.*?1)(.*?)(2.*?)/$1\l$2\e$3/g; print ;'#

print abc1c2cgj

原始檔替換:

echo 

"abc 123

">

tesed -i 

's/abc/abc/g'te

或者 :

perl -i 

-pe 

's/abc/abc/g'te

cat te 

#print abc 123

外部傳參

:tt="cc"

echo "gg" |perl -ne ' print "'$tt'" ;'

輸出:cc

perl 

-e  

'print "$ar**[0]\t$ar**[1]\n" ''

par1''

par2'#

print par1 par2

重複列輸出

:cat xx

.txt 

|awk -f

""'a[$1]++

'或者 

:cat xx

.txt 

|perl -f

"\t"-

ane  

'$a++;end}'

=7中興 =

2萬信恆通  =2

還比如:檢視各使用者 有多少個程序

ps -

ef |

perl  

-ane  

'$a++;end}'

求 兩項  交集

cat buymusic

.20090525

|perl 

-ne 

'beginend} keys %b; # 求交集

#print $p1,"=",join(",",keys %a),""n";

#print $p2,"=",join(",",keys %b),""n";

print "產品 $p1:",scalar keys %a," "n";

print "產品 $p2:",scalar keys %b," "n";

print "交集:",scalar @inter," "n";

}chomp;

@lis=split /\|<>\|/ ;

if( $lis[ $p_col] eq $p1 )++;

}if( $lis[$p_col] eq $p2 )++;}'

關鍵字 top 

10,輸出源文字資料 

:perl 

-e  

'my $num=10; # top 10

open(myfile, "<$ar**[0]");

open(myfile2, "<$ar**[0]");

# 關鍵字列數

while()++ }

foreach $k (sort  <=> $fck } keys %fck)

$arr[@arr] = $k;

}while() 0..$#arr):$_"; #帶 關鍵字出現次數輸出

print ;}}

'qdsearch

.log

perl使用小結

快捷鍵markdown及擴充套件 離線寫部落格 瀏覽器相容 安裝方式a perl makefile.pl make make test make installperldoc model name 檢視指定模組的資訊,檢查乙個模組是否已安裝只需該看看模組文件存在與否 sudo perl mcpan ...

PERL內建變數小結

perl相對來說受關注的程度要低些,這裡總結整理了perl的部分內建變數,可以在程式中直接引用,希望對大家有所幫助。當前頁可列印的行數,屬於perl格式系統的一部分 根據上下文內容返回錯誤號或者錯誤串 列表分隔符 列印數字時預設的數字輸出格式 perl直譯器的程序id 當前輸出通道的當前頁號 con...

Perl的編譯學習小結

看前輩們寫的測試工具,前後總是有begin 和 end 兩個模組,而且在常用的perl d debug這些perl指令碼的時候,這個begin和end卻沒有看到執行過程。今天看了perl 大駱駝書的編譯和命令列介面 了解了。perl 的生命週期可以分為,編譯 生成 解析樹重構階段 和執行 四個階段組...