PHP'de unix/linux sistemlerinde grep -f dosya adı veren bir işlev var mı. Hiçbiri yoksa, PHP işlevleri/araçları bunun için özelleştirilmiş bir yöntem/işlev oluşturmaya yardımcı olur. Teşekkürler!grep with -f gibi PHP'de
cevap
Aslında IMHO, ben aşağıdaki söyleyebilirim:
$result = preg_grep($pattern, file($path));
preg_grep
Docs ve file
Docs bakınız. Eğer dosya kümesi üzerinde ki (yinelemeli) yapmak gerekirse
, ayrıca glob
ve foreach
ya da (Recursive
) DirectoryIterator
veya GlobIterator
Docs değil RegexIterator
Docs unutmak yoktur.
Örnek SplFileObject veRegexIterator ile:
$stream = new SplFileObject($file);
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
Çıkış ($ deseni içeren $file
her hat):
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
Gösteri: https://eval.in/208699
file_get_contens() işlevini, bir dosyayı ve bir regex kullanarak içerikleri yakalamak için preg_match_all() işlevini açabilirsiniz.
$file = file_get_contents ('path/to/file.ext');
preg_match_all ('regex_pattern_here', $file, $matches);
print_r ($matches);
'file_get_contents()' ı kullanıyorum ama aralıklı olarak başarısız oluyor. – FractalSpace
- 1. grep -f
- 2. grep -f Mac var ise
- 3. grep
- 4. Grep
- 5. Grep
- 6. grep
- 7. grep
- 8. Facebook gibi og: image with svg
- 9. Sadece hat numarası için hızlı grep/grep?
- 10. with with in
- 11. F #:
- 12. F #
- 13. F #
- 14. grep sadece metin dosyaları
- 15. F #
- 16. Python "with" bildirimi sözdizimi
- 17. F #
- 18. Ondalık Dönüşüm F # Senaryo F # Interactive F #
- 19. F System.String.Split kullanarak F #
- 20. Rails form_for with collection_select
- 21. git grep --cached
- 22. grep özyineleme - tutarsızlıklar
- 23. Hadoop akışı grep
- 24. kuyruğu ve grep günlüğü ve posta (linux)
- 25. tnsnames.ora karşı regex w/grep
- 26. F #: Harita'yı Koleksiyon ile nasıl kullanırım (Regex Eşleşmeleri gibi)?
- 27. F # için Haskell jenerik programlama gibi bir şey var mı?
- 28. aws günlüğünü gerçek zamanlı olarak görüntüleme (tail -f gibi)
- 29. F boş bir sınıf nasıl oluşturulur? F
- 30. F arasında sıralama sıralama F #
Bu işlev eşdeğer olsa da, komut satırı grep'i değil, tüm dosyayı belleğe yükler. – cmc
@ cmd: Evet, hafızayı kaydetmek istiyorsanız, lütfen [** SplFileObject **] (http://php.net/SplFileObject) ve [** RegexIterator **] (http://php.net/ RegexIterator). – hakre
iyi geliyor! ... elinizde preg_grep ($ pattern, file ($ path)) için bir yer değiştirme yedeği olan bir örnek olmaz mı? – cmc