Войти

Показать полную графическую версию : [решено] Оставить n последних строк в тхт файлах


Alexander_88
05-03-2018, 21:30
Здравствуйте. Подскажите, каким образом можно решить задачку.

в папке несколько txt файлов........ в каждом тхт файле, список ссылок.. (каждая ссылка в новой строке).
Нужно, чтобы в каждом из этих файлов осталось n количество последних строк (ссылок), остальные все удалились (вместе с пустыми строками, оставшихся после их удаления).
К примеру необходимо оставить 100 последних строк.

Busla
06-03-2018, 12:40
используйте PowerShell:
Get-ChildItem C:\temp\tail-test\ | ForEach-Object { (Get-Content -Path $_.FullName -Tail 100) | Out-File $_.FullName }

Alexander_88
06-03-2018, 14:12
Спасибо, работает :)

alpap
06-03-2018, 14:31
используйте PowerShell: »
в данном случае мудрое решение, а:

для примера приведу на bat, чтобы понять какая разница в мучениях при выполнении задачи практически не предназначенной для этого яп

@echo off
set kstr=100

for /f "delims=" %%a in ('dir /a-d/b "*.txt"') do <"%%a" (for /f %%n in ('find /v /c ""') do set /a pr=%%n-kstr)& call :psto "%%a" %%pr%%
pause& exit

:psto
<"%~1">$ (more +%2)& >nul move $ "%~1"
exit /b

Alexander_88
06-03-2018, 15:14
Спасибо, батничек тоже работает, сохраню оба варианта :)




© OSzone.net 2001-2012