АРМАДА
Удалить первую строчку в .txt файле
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

zeoman
V.I.P.
Зарегистрирован: 19.03.2008
Сообщений: 3708
Обратиться по нику
# Добавлено:Вс Авг 02, 2009 11:31 amДобавить в избранноеОтветить с цитатой
Возникла необходимость, во время выполнения макроса, удалять первую строчку из текстового файла. Нагуглил вот такое решение в виде .bat файла:

Код:
@echo off
setLocal EnableDelayedExpansion

for /f "tokens=* skip=1 delims=" %%a in (pages.txt) do (
echo %%a >> pages2.txt
)


Это решение работает достаточно быстро, и действительно удаляет первую строку. Но! Также добавляет в конец каждой строки один пробел. За несколко запусков там скапливается целая кучища пробелов, а мне их туда ну никак нельзя. Что можно поправить или может посоветуете какую утилиту кроме textpipe? Задача одна - удалить первую строчку из текстового файла.

Спасибо.

IseeDeadPeople
Объединенная Электрическая
Зарегистрирован: 06.12.2005
Сообщений: 21154
Обратиться по нику
# Добавлено:Вс Авг 02, 2009 1:41 pmОтветить с цитатой
.. точно нескажу, но попробуй поискать аналоги
$1 = trim($1):php - удаляет все начальные/пустые.. в начале и в конце (перевод строк)
chomp:perl - типа того же..
ConnectX: Единый порно сайт подрочить Porno Cam, для adult вебмастеров, webcam моделей

zeoman
V.I.P.
Зарегистрирован: 19.03.2008
Сообщений: 3708
Обратиться по нику
# Добавлено:Вс Авг 02, 2009 1:52 pmОтветить с цитатой
Бог-лошадка, спасибо. Smile

Мне тут подсказали, что в этом батнике лишний пробел и нужный мне вариант будет выглядеть так:

Код:
@echo off
setLocal EnableDelayedExpansion

for /f "tokens=* skip=1 delims=" %%a in (pages.txt) do (
echo %%a>> pages2.txt
)


Еще дали вариант на php:

Код:
$txtfile="file.txt";
$file=file($txtfile);
unset($file[0]);
$fp = @fopen($txtfile, "w");
@fwrite($fp, implode($file)); @fclose($fp);



Живём! :thup:

IseeDeadPeople
Объединенная Электрическая
Зарегистрирован: 06.12.2005
Сообщений: 21154
Обратиться по нику
# Добавлено:Вс Авг 02, 2009 10:00 pmОтветить с цитатой
окей.. но я бы по понике, лучьше так сделал
вместо unset($file[0]); -> array_shift($file);

Цитата:

array_shift -- Pop an element off the beginning of array
Description

mixed array_shift (array array)

Array_shift() shifts the first value of the array off and returns it, shortening the array by one element and moving everything down. If array is empty (or is not an array), NULL will be returned.

Example 1. Array_shift() example

$args = array ("-v", "-f");
$opt = array_shift ($args);

This would result in $args having one element "-f" left, and $opt being "-v".

ConnectX: Единый порно сайт подрочить Porno Cam, для adult вебмастеров, webcam моделей
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры