環境設定:如果有系統字元編碼 衝突,在當前
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 ;'#
# "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 的生命週期可以分為,編譯 生成 解析樹重構階段 和執行 四個階段組...