Удалить первую и последнюю строку из файлов - PullRequest
1 голос
/ 03 октября 2011

Я новичок в PHP, и у меня есть тысячи записей, которые мне нужно проанализировать. Похоже, что первые 2 строки и последнюю строку каждой записи необходимо удалить. Есть ли какой-то тип функции подсчета строк, который я мог бы использовать, чтобы поместить каждую строку в массив, а затем удалить первые две и сделать как максимальное количество, чтобы получить последнюю строку, а затем удалить это? Я в недоумении и ценю любую помощь. Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 октября 2011

Предполагая, что вы находитесь на хосте Unix / Linux, вам лучше использовать несколько простых инструментов оболочки, чтобы сделать это для вас.В частности, wc -l, head и tail.

for i in *.txt; do
    lines=`wc -l $i`
    tail $(($lines - 2)) $i | head $(($lines - 1)) > /fixed/files/$i
done

не тестировались, YMMV и т. Д., Но должны быть понятны.

2 голосов
/ 03 октября 2011
<?php

$file = file("file.txt");

array_shift($file); // Removing the first line
array_shift($file); // Removing the second line

array_pop($file); // Removing last line

// Creating the new file:

$fp = fopen("newFile.txt", "a+");

for ($x=0; $x < sizeof($file); $x++)
{
fputs($fp, $file[$x]. "\n");
}

fclose($fp);

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...