回答
如果你有一個「正確的工具,適合工作」的態度,並且可能會被打擾學習新的工具,perl,awk,甚至sed都是用於這類工作的非常好的工具。否則,任何完整的語言都可以,Java也可以完成這項工作。但是使用緩衝類,比如BufferedReader,否則這將會非常緩慢。
例中的Perl:
use strict;
use warnings;
open INFILE, "<infile" or die;
open OUTFILE, ">outfile" or die;
while(<INFILE>) {
$_=~s/source-regex/replace-with/g;
print OUTFILE;
}
我的一行的工作,但有一點複雜。
複雜嗎? 'perl -nwe'打印如果/ source-regex /'input.txt> output.txt' – TLP
哎呀,我知道會有某種替換。這一行將會很好。謝謝。 – 0xCAFEBABE
替換並不複雜。只要將'm //'改成'///'並打印即可。相同的土豆。 – TLP
這裏並不是很多,但創建一個BufferedReader
,一次只讀一行,並檢查它是否是您要查找的行。
在Perl中:
use strict;
use warnings;
my $line = 'what to be searched';
open my $fh, '<', '/path/to/the/file' or die "unable to open file: $!";
while(<$fh>) {
chomp;
if ($_ eq $line) {
print "found $line at line $.\n";
last;
}
}
作爲一個班輪:
perl -nwe 'print if /source-regex/' input.txt > output.txt
爲腳本:
use strict;
use warnings;
while (<>) {
print if /source-regex/;
}
用法:perl script.pl input.txt > output.txt
有辦法來優化這個,但是用您提供的信息可以做更多事情。搜索需要一些時間,並且可能會很慢,具體取決於您的正則表達式。
如果有安全問題,明確的文件打開更安全:
open my $input, '<', shift or die $!;
while (<$input>) {
...
- 1. 大文件逐行閱讀
- 2. 如何在.NET中讀取大(1 GB)的txt文件?
- 3. 拆分和合並的Java大文件(以GB大小)
- 4. 如何在.net c#中讀取非常大的文本文件(以gb爲單位)並拆分爲小文件
- 5. C:讀取大於4 GB的文件
- 6. 閱讀大轉儲文件
- 7. 閱讀大文本文件的n行
- 8. 閱讀bmp文件頭大小
- 9. 閱讀大文件並強制下載
- 10. C#如何上傳大文件到FTP(文件大小必須爲500 MB - 1 GB)
- 11. 閱讀大文件
- 12. 如何找到讀取爲QPixmap的圖像的文件大小?
- 13. php53_errors.log大小爲19 GB!?! IIS
- 14. 閱讀大文本文件
- 15. 通過閱讀它的行來確定文件的大小
- 16. 如何獲取大型(> 4 GB)文件的文件大小?
- 17. 閱讀>從Django服務器讀取1 GB CSV文件並在模板中顯示
- 18. 並行讀取大文件?
- 19. 閱讀並處理大的一行JSON文件
- 20. 用PHP逐行閱讀大文件?
- 21. 如何逐行閱讀大文件?
- 22. Android閱讀大文件
- 23. PHP:字節轉換爲GB(文件夾的大小)
- 24. MYSQL插入大小爲GB的海量SQL文件
- 25. 如何在java中創建大小爲400 GB的zip文件
- 26. 閱讀大型CSV文件
- 27. Valgrind:Invaild閱讀的大小8
- 28. 閱讀文件中的數字並找到中位數C
- 29. 如何根據文件大小顯示KB,MB或GB文件夾的大小?
- 30. 閱讀CSV文件,並在Python中轉換爲大寫
見http://download.oracle.com/javase/tutorial/essential/io/file.html的信息來源上讀取文件在Java中。 – Qwerky
是一個考試題目還是什麼? –