我有一個帶有分隔符的文本文件作爲|它有10列。我已經把這個文件放在一個數組中,在讀之前我想把檢查文件是否有效,這意味着非空和固定10列的文件。如果然後應顯示驗證|從Perl中的數組讀取分隔的txt文件
-3
A
回答
-3
my ($file, $fh);
$file = 'path/to/file.txt';
open $fh, '<', $file or die $!;
$line = <$fh>;
unless($fh=~/^.*?\|.*?\|.*?\|.*?\|.*?\|.*?\|.*?\|.*?\|.*?\|.*/){print "You have more than 10 columns!\n";}
if($10=~/\|/){print "more than 10 columns!\n";}
close $fh;
列< 10號的錯誤消息編輯: 有很多方法,這僅僅是一個快速斜率的答案。它將確保至少10個如上所述,儘管您在技術上要求9或更少的符號。
編輯編輯: 這將確保至少10,它可能會更多。我建議用全局正則表達式來計算,但它對我來說已經有一段時間了。或者,也許是另一種方法,以確保準確的10:
$line = <$fh>;
my @check=split(/\|/, $line);
if (scalar @check !=10){print "bad file delimitation!\n";}
編輯X3: 如果($ 10 =〜/ \ | /){打印 「等10多個欄目\ n!」;}確保不超過10 ,但嘗試做一個全局正則表達式來計數或數組方法
1
您可以只計算每行中的管道字符數。十列意味着至少九個管道,所以你可以說
perl -ne '($n = tr/|// + 1) and die "Only $n fields on line $.\n"' myfile.txt
相關問題
- 1. 製表符分隔的txt文件從字符串數組中讀取int值
- 2. 從逗號分隔的文本文件中讀取數組
- 3. 在python中讀取分號分隔的txt文件
- 4. 從txt文件讀取每行數組
- 5. 從Python中的文件中讀取逗號分隔的元組
- 6. 在txt文件中讀取分數java
- 7. 如何使用行分隔符從txt文件讀取整行?
- 8. 從txt文件中讀取每隔一行並保存到數組中
- 9. 將逗號分隔的文件讀取到整數數組中
- 10. 從Fortran的txt文件讀取數據
- 11. 從C中的文件中讀取逗號分隔的數字
- 12. 從Matlab中的txt文件中讀取
- 13. 從FORTRAN90的TXT文件中讀取複雜數組和向量
- 14. 如何讀取以逗號分隔的.txt文件?
- 15. Matlab:如何讀取具有多個分隔符的.txt文件
- 16. 從java中的.txt文件讀取
- 17. 從txt文件讀取整數並存儲到數組中
- 18. 讀取文本文件的行以使用indexOf分隔數組
- 19. 從Perl中讀取數組的哈希
- 20. Java從文件中讀取二維數組,用逗號分隔的數字
- 21. Java讀取.txt文件到數組
- 22. C++讀取.txt文件列到數組
- 23. 使用數組讀取.txt文件
- 24. 的Perl CGI從txt文件
- 25. 從txt讀取文件
- 26. Java /從.txt文件讀取
- 27. 從文件中讀取空格分隔的數字
- 28. 從逗號分隔的數據文件中讀取列C++
- 29. 從tab分隔的xls文件中讀取數據
- 30. 讀取.txt文件中的整數(Java)
你可以[edit]你的帖子告訴我們你到目前爲止嘗試過什麼嗎? –