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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удалить в текстовом файле все строки кроме одной нужной.

Старожил


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

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


Изменения
Автор: 9119
Дата: 16-12-2020
Вложения
Тип файла: zip source.zip
(67.4 Kb, 7 просмотров)
Добрый.

Есть однотипные файлы txt. В них строка №2. Очень длинная. Явно превышающая стандартное ограничение.
find и findstr пишут "длинная строка"
txt во вложении.

Начинается нужная строка всегда с "audioContent".


Нужно:

1) скопировать строку №2 из source.txt в out.txt.

или

в source.txt удалить ВСЕ строки кроме №2.

В идеале, нужно решение без привязки к искомым словам, а просто к номеру строк.


2) В результирующем txt удалить пробелы, слово "audioContent" и (")двойные кавычки(")

Отправлено: 16:11, 16-12-2020

 

Ветеран


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

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


Цитата 9119:
2) здесь нужно вывести окно с запросом о вводе текста и задать переменную »
Рисовать окошко? Может как-то попроще, например брать текст из файла или вставлять из буфера обмена? Например:

Код: Выделить весь код
$json.input.text = Get-Clipboard
Т.е. скопировал нужный текст в буфер и запустил скрипт.
PS. Если несколько строк, и это не поддерживается речевым движком, то можно их сконвертировать в одну строку:
Код: Выделить весь код
$json.input.text = Get-Clipboard | Out-String

Последний раз редактировалось Foreigner, 17-12-2020 в 00:18.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:11, 17-12-2020 | #11



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

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


Старожил


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

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


Цитата Foreigner:
или вставлять из буфера обмена »
идея хорошая, но бывает что нет возможности скопировать сразу весь текст...
и скажем нажимешь сtrl+с 2-3 раза... тогда такой вариант как я понимаю не подходит...

Как будет выглядить вставка из файла?

p.s. можно и без рисования окошка...
достаточно чтобы скрипт стал на паузу и запросил ввод текста (чтоб можно было текст несколько раз копирнуть в данный сркипт.)

Отправлено: 00:26, 17-12-2020 | #12


Ветеран


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

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


Цитата 9119:
Как будет выглядить вставка из файла? »
Код: Выделить весь код
$text = Get-Content file.txt
$json.input.text = $text
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:34, 17-12-2020 | #13


Ветеран


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

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


Foreigner, можно совместить оба подхода — подставлять в тамошний InputBox default'ом значение из Буфера обмена. Тут тебе и возжожность визуального контроля, и возможность ручной коррекции — невеликая плата за лишнее нажатие Enter.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:39, 17-12-2020 | #14


Старожил


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

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


Цитата Iska:
можно совместить оба подхода »
как это выглядит в powershell?

Отправлено: 00:43, 17-12-2020 | #15


(*.*)


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

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


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

Выглядит как-то так http://forum.oszone.net/post-2942327.html#post2942327

Отправлено: 00:53, 17-12-2020 | #16


Старожил


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

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


Цитата Vadikan:
Зачем останавливать скрипт и ждать ввод »
в этом вся суть.... нужно разный текст постоянно менять, каждый раз менять в скрипте - не вариант, как впринципе и в отдельном файле (лишние движения в ввиде ctrl-v, ctrl-s ).
Тут как раз надо чтоб копировать из буфера, с возможностью корректировки на лету так сказать, не лазя по доп файлам...

Отправлено: 00:59, 17-12-2020 | #17


Ветеран


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

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


Цитата 9119:
как это выглядит в powershell? »
Если без особых изысков, то наподобие:
Код: Выделить весь код
Add-Type -AssemblyName 'Microsoft.VisualBasic'

$sValue = [Microsoft.VisualBasic.Interaction]::InputBox('Enter value:', 'Enter value', (Get-Clipboard -Format Text))
$sValue
Это уже, конечно, не совсем чистый PoSH. А так-то можно хоть цельный диалог нарисовать, с подкидным дураком и блудницами: Создание настраиваемого поля ввода - PowerShell | Microsoft Docs.

Последний раз редактировалось Iska, 17-12-2020 в 01:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:08, 17-12-2020 | #18


Старожил


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

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


Цитата Iska:
Если без особых изысков »
как это совместить с вариантом предложенным на предыдущей странице?
Код: Выделить весь код
$json = Get-Content text.json | ConvertFrom-Json
$json.input.text = "Новый текст"
$json | ConvertTo-Json | Set-Content new.json

Отправлено: 01:13, 17-12-2020 | #19


Ветеран


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

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


Не проверялось:
Код: Выделить весь код
Add-Type -AssemblyName 'Microsoft.VisualBasic'

$json = Get-Content text.json | ConvertFrom-Json
$json.input.text = [Microsoft.VisualBasic.Interaction]::InputBox('Enter value for node [json.input.text]:', 'Enter value', (Get-Clipboard -Format Text))
$json | ConvertTo-Json | Set-Content new.json
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:18, 17-12-2020 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Отсортировать строки в текстовом файле blackeangel Программирование и базы данных 4 10-01-2017 11:31
CMD/BAT - [решено] удалить пусты строки в текстовом файле warkdimka Скриптовые языки администрирования Windows 8 19-02-2016 15:31
CMD/BAT - [решено] удалить все пустые строки, кроме самой последней Alexander_88 Скриптовые языки администрирования Windows 8 05-01-2015 12:43
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? Pozia AutoIt 23 14-05-2009 21:41
[решено] Работа из командной строки | Убрать все пробелы в текстовом файле Greyman Хочу все знать 11 17-06-2007 22:44




 
Переход