導航:首頁 > 文件目錄 > perl讀入文件內容

perl讀入文件內容

發布時間:2024-02-01 22:59:34

❶ perl 讀取文件夾下所有txt,並處理數據

還是昨天的那個程序,假設你的文件分為 1.txt 2.txt 3.txt,這個時候不要包含文件頭,即所有的文件都是內容


程序修改為:

#$head=<>;

while(<>)
{
@line=split(/,/,$_);
$lwfs=$line[7];
$user=join('|',$line[1],$line[2],$line[3],$line[4],$line[6],$line[7]);
$info{$lwfs}{'times'}+=1;
$info{$lwfs}{'users'}{$user}+=1;
}

print"lwsf,user,times ";
foreachmy$key(keys%info)
{
$times=$info{$key}{'times'};
@users=keys$info{$key}{'users'};
$usercount=$#users+1;
print"$key,$usercount,$times ";
}

注意:讀取文件頭到$head變數的那句已經注釋掉了。


此時運行方法為: perl my.pl 1.txt 2.txt 3.txt 就可以了


perl自己會把所有文件內容都讀進來處理的

❷ perl腳本讀文件最優方法請教

你的代碼一下子把所有行都讀到@Contant里了,自然耗內存。

這種情況要用while循環一行一行地讀,參見下面的改法。

my ($filename) = "text.unl";

unless (open (RDH,$filename))
{
print "File open failed.";
}

while (my $line = <RDH>) {
push @a, $line if /aaa/;
push @b, $line if /bbb/;
push @c, $line if /ccc/;
}
close RDH or die "Cannot close $filename:$!";

❸ perl如何讀入一個.txt文本中的內容,將文本里的內容放到一個數組里

很簡單的,例子代碼如下:

open(FD,"1.txt");
@lines=<FD>;
close(FD);

上面的代碼之後,就可以使用@lines數組了,比如顯示第三行的語句:

print $lines[2];

❹ perl如何遍歷指定文件夾下的指定擴展名文件並讀取內容

不知道你這里讀取具體指什麼,我就把文件名列印出來,把文件內容列印出來吧。(程序指定兩個參數,第一個參數是指定的文件夾名,每二個參數是指定的擴展名。)
#!/usr/bin/perl
use strict;
use warnings;
die "Usage: $0 <dir> <extion>\n" unless @ARGV == 2;
my $Dir = $ARGV[0] ;
my $Ext = $ARGV[1] ;
opendir(DH, "$Dir") or die "Can't open: $!\n" ;
#讀取指定文件夾下面的指定擴展名的文件名,保存到數組里。
my @list = grep {/$Ext$/ && -f "$Dir/$_" } readdir(DH) ;
closedir(DH) ;
chdir($Dir) or die "Can't cd dir: $!\n" ;
foreach my $file (@list){
open(FH, "$file") or die "Can't open: $!\n" ;
print "$file:\n" ;
while(<FH>){
print ;
}
print "\n";
close(FH) ;
}

❺ perl讀取文件,然後替換內容,再生成新的文件。然後打包。(有分)

這個問題問的有點兒含糊,不過提供一個可能的方法供您參考。
使用 perl 的 $^| 命令,這個命令的用法解釋為:
1、$^|=「」 -- 設置為空代表修改文件內容;
2、$^|=「.other」 -- 代表將修改後的文件保存為 filename.other

❻ 如何用perl讀取txt文件中的數據

#!/usr/bin/perl
$textname="/存放路徑/文件名.txt"; #例如$textname="E:/lqf.txt";
open(FILE1,$textname);#打開文件
@line=<FILE1>;#將文件的每一行讀取到數組@line中,文件的每一行作為一個數組元素
close FILE1;
#保存這個文件的內容,只要對@line數組進行操作就可以了

❼ 如何用perl讀取一個文件夾下的大量首列相同的txt文件,要進行列合並。

opendirD,"1"ordie$!;#把所有txt文件都放到一個叫1的文件夾中
@array=grep(/.txt/,readdirD);
foreach$list(@array){
openF,"1/$list"ordie$!;
@load=<F>;
foreach(@load){($s1,$s2)=split/s+/,$_;push@new,$s2;}
}
foreach(@new){print"$_ ";}

閱讀全文

與perl讀入文件內容相關的資料

熱點內容
怎麼用手機看wlan密碼 瀏覽:745
奧維地圖導入的文件在哪裡 瀏覽:364
sdltrados2014教程 瀏覽:43
培訓制度文件在哪裡找 瀏覽:601
勒索病毒防疫工具 瀏覽:861
win10c不能打開 瀏覽:375
xfplay影音先鋒蘋果版 瀏覽:597
兩個文件打開兩個word 瀏覽:921
蘋果6s桌面圖標輕微抖動 瀏覽:326
如何刪除手機中看不見的臨時文件 瀏覽:469
安卓412原生鎖屏apk 瀏覽:464
書加加緩存文件在哪裡 瀏覽:635
dock是word文件嗎 瀏覽:267
社保公司新辦去哪個網站下載資料 瀏覽:640
三維標注數據怎麼填寫 瀏覽:765
數據線斷在哪裡取出來 瀏覽:522
word最好的文件 瀏覽:345
大數據聚類資料庫 瀏覽:247
網站關停域名怎麼注銷 瀏覽:456
適合微信閱讀的手機報 瀏覽:114

友情鏈接