|
|
![]() zeoman V.I.P. |
Зарегистрирован: 19.03.2008
Сообщений: 3708
|
Обратиться по нику
|
zeoman |
Ответить с цитатой | | |
|
Возникла необходимость, во время выполнения макроса, удалять первую строчку из текстового файла. Нагуглил вот такое решение в виде .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
Сообщений: 21971
|
Обратиться по нику
|
IseeDeadPeople |
Ответить с цитатой | | |
|
.. точно нескажу, но попробуй поискать аналоги
$1 = trim($1):php - удаляет все начальные/пустые.. в начале и в конце (перевод строк)
chomp:perl - типа того же.. |
|
|
|
|
|
WEBCAM |
![]() zeoman V.I.P. |
Зарегистрирован: 19.03.2008
Сообщений: 3708
|
Обратиться по нику
|
zeoman |
Ответить с цитатой | | |
|
Бог-лошадка, спасибо.
Мне тут подсказали, что в этом батнике лишний пробел и нужный мне вариант будет выглядеть так:
Код: |
@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);
|
Живём!  |
|
|
|
|
|
|
![]() IseeDeadPeople Объединенная Электрическая |
Зарегистрирован: 06.12.2005
Сообщений: 21971
|
Обратиться по нику
|
IseeDeadPeople |
Ответить с цитатой | | |
|
окей.. но я бы по понике, лучьше так сделал
вместо 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".
|
|
|
|
|
|
|
WEBCAM |
|