2015-02-10 4 views
0

Мне нужно удалить первые две строки из очень большого количества файлов txt (около 10.000). Я ищу способ сделать это из командной строки или через другую полуавтоматическую процедуру. Каждый файл отличается от другого, но все они содержат некоторую информацию о первых двух строках, которые мне нужно избавиться.Удалить первые две строки из txt-файлов

+2

Имеются ли в файлах пустые строки, которые вы хотите сохранить? – Magoo

ответ

0

Я думаю, что ответ aguslr выглядит хорошо на UNIX-производной системе, но я предполагаю, что теги являются «cmd» и «batch-file», которые вы используете в Windows. Вы можете получить sed для Windows в нескольких местах, например, в портах UnxUtils или более современных с помощью Cygwin или GnuWin32. Но find - это встроенная программа Windows, которая не похожа на находку в UNIX-производных системах. Таким образом, вы, вероятно, хотите, чтобы заменить вторую половину ответа с «для» команды в Windows, как:

for /r %a in (*.txt) do sed -i '1,2d' %a 

Обратите внимание, что если вы запустите это из пакетного файла, который вы хотите использовать %% А вместо % а.

+0

спасибо! Я сейчас на окнах, но я буду использовать другую машину unix для этого! очень полезно :) – spargor

3
for %%a in (*.txt) do (
    more +2 < "%%~fa" > 2linesskipped.txt 
    move /y 2linesskipped.txt "%%~fa" 
) 

без внешних инструментов.

Смежные вопросы