Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно создать "батник" - вырезать из "2.txt" первых n строк и вставить их в "1.txt"

Ответить
Настройки темы
CMD/BAT - [решено] Нужно создать "батник" - вырезать из "2.txt" первых n строк и вставить их в "1.txt"

Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте.

Пожалуйста, помогите создать батник.

Необходимо, чтобы из файла "2.txt" вырезалось (удалялось) определенное количество первых строк и чтобы вырезанные строки копировались (вставлялись) в файл "1.txt"

Спасибо за помощь.

Отправлено: 22:13, 02-09-2013

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


temphard,
sed.exe:
Код: Выделить весь код
@echo off

sed -n "1,3 p" 2.txt 1>>1.txt
sed "1,3 d" 2.txt 1>2.tmp
move 2.tmp 2.txt
Первые 3 строки
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:50, 02-09-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Большое спасибо за быстрый ответ.
Попробовал ваш скрипт, да он работает, но есть какая-то ошибка.

@echo off

sed -n "1,3 p" 2.txt 1>>1.txt
sed "1,3 d" 2.txt 1>2.tmp (файл 2.tmp создается пустым и в последствии 2.txt оказывается пустым)
move 2.tmp 2.txt

Большое спасибо за помощь.

Отправлено: 23:15, 02-09-2013 | #3


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата temphard:
файл 2.tmp создается пустым и в последствии 2.txt оказывается пустым »
У меня все нормально.. Может просто первые строки в 2.txt пустые?
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:33, 02-09-2013 | #4


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Большое Вам спасибо, добрый человек!
Вы были правы, все работает.
Благодаря Вам, открыл для себя понятие "sed"

Спасибо за помощь.

Отправлено: 23:46, 02-09-2013 | #5


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте
Попробовал запускать и у меня создаются 2 пустых файла 2.txt и 1.txt,хотя изначально 2.txt имеет некий текст.
Можете подробней описать что и как?

Отправлено: 22:06, 07-01-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата microb115:
Попробовал запускать и у меня создаются 2 пустых файла 2.txt и 1.txt,хотя изначально 2.txt имеет некий текст. »
У меня — нет. Код работает корректно. Упакуйте Ваши файлы «1.txt» и «2.txt» в архив и прикрепите их к сообщению.

Цитата microb115:
Можете подробней описать что и как? »
Что непонятного?

«sed -n "1,3 p" 2.txt 1>>1.txt»: из файла «2.txt» извлекаются строки с 1 по 3 и добавляются к файлу «1.txt».
«sed "1,3 d" 2.txt 1>2.tmp»: из файла «2.txt» отсекаются строки с 1 по 3, остальные записываются во временный файл «2.tmp».
«move 2.tmp 2.txt»: временный файл «2.tmp» переносится под именем «2.txt».

Отправлено: 02:29, 08-01-2014 | #7


Старожил


Сообщения: 459
Благодарности: 138

Профиль | Отправить PM | Цитировать


microb115, скачайте Binaries и Dependencies
Закиньте в c:\windows\system32 (или положите рядом с батником) 4 файла: sed.exe libiconv2.dll libintl3.dll regex2.dll

Отправлено: 02:48, 08-01-2014 | #8


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


я нашел в чем была проблема.Надо было, чтобы батник лежал в папке вместе с sed.exe и прочими библиотеками,которые находятся в С/program files.А я этого сразу и не знал.
Это обязательное условие??или можно как нибудь прописать чтобы батник был в другой папке?

Отправлено: 20:14, 08-01-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата microb115:
или можно как нибудь прописать чтобы батник был в другой папке? »
Нужно указать полный путь к «sed.exe».
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:23, 08-01-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно создать "батник" - вырезать из "2.txt" первых n строк и вставить их в "1.txt"

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Возвращение в меню "Создать" пункта "Текстовый документ", ассоциирование с TXT Pavla Microsoft Windows 7 16 10-07-2012 07:47
Интерфейс - Из контекстного меню в пункте "Создать", пропала команда "Текстовый документ". QUMATOZ Microsoft Windows 2000/XP 1 23-10-2011 18:07
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? verdix Microsoft Windows 2000/XP 3 03-10-2009 23:46
Debian/Ubuntu - [решено] Пропали кнопки "свернуть","закрыть","во весь екран" в папках Alex.sys Общий по Linux 5 02-04-2009 11:13
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход