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

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

Ответить
Настройки темы
CMD/BAT - [решено] Подсчет слов и нахождение заданного слова, замена и его замена на другое.

Аватара для zeroua

Ветеран


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


Конфигурация

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


Изменения
Автор: zeroua
Дата: 11-06-2014
Здравствуйте все, а каким образом посчитать и вывести на экран количество появления заданного слова без учета регистра, у меня вроде получилось вот таким вот скриптом, а ещё мне нужно заменить все слова the на другое заданное слово и перезаписать текстовый документ, помогите с этой нетривиальной для меня задачей.

Код: Выделить весь код
@echo off

set /a count=0

for /f "usebackq delims=" %%a in ("text.txt") do for %%i in (%%a) do (
if %%i == the set /a count+=1
)

echo count  : %count%

pause

-------
лучше по утру на Google Earth искать ГДЕ ты пил, чем на youtube КАК...
http://forum.oszone.net/image.php?type=sigpic&userid=68333&dateline=1203429944


Отправлено: 11:15, 11-06-2014

 

Аватара для gora

Ушёл из жизни


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

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


Цитата zeroua:
посчитать и вывести на экран количество появления заданного слова без учета регистра, ... а ещё мне нужно заменить все слова the на другое заданное слово и перезаписать текстовый документ »
Подобную задачу решал с помощью vbs скрипта (ибо bat неудобен для подобных задач) в составе SetTools, посмотрите там скрипт, может подойдет.

Отправлено: 10:45, 12-06-2014 | #2



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

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


Ветеран


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

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


Цитата zeroua:
без учета регистра »
Тогда так:
Код: Выделить весь код
if /i %%i==the set /a count+=1
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:18, 12-06-2014 | #3


Аватара для zeroua

Ветеран


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

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


Georgio, угумсь тут я знаю, а вот реализации замены текста средствами командной строки более чем неудобная штука.

Цитата gora:
Подобную задачу решал с помощью vbs скрипта (ибо bat неудобен для подобных задач) в составе SetTools, посмотрите там скрипт, может подойдет. »
Спасибо за наводку но хотелось бы конечно справится именно через bat,

Код: Выделить весь код
for /f "usebackq delims=" %%a in ("1.txt") do (
set strrr=%%a 
set tmpr=%strrr:word=nut%
echo.%tmpr%
)
А если как-то так?

-------
лучше по утру на Google Earth искать ГДЕ ты пил, чем на youtube КАК...
http://forum.oszone.net/image.php?type=sigpic&userid=68333&dateline=1203429944


Отправлено: 11:39, 12-06-2014 | #4


Аватара для gora

Ушёл из жизни


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

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


Цитата zeroua:
Спасибо за наводку »
Ну тогда я Вам еще уточню задачу: сколько слов the в этой строке?
Цитата:
The then the, nothe the: thethethe the
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:55, 12-06-2014 | #5


Ветеран


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

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


Цитата zeroua:
А если как-то так? »

Да не вопрос:

Код: Выделить весь код
for /f "usebackq delims=" %%a in ("1.txt") do (
 set strrr=%%a
 call echo %%strrr:word=nut%%>>"2.txt"
 )
.

Только "подводных камней" будет куча. Один "камень" даже "выходит на поверхность моря": регистр учитываться будет. Если текст не секретный, то выложите этот файл в архиве и что на что менять напишите.

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


Аватара для zeroua

Ветеран


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

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


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

Код: Выделить весь код
zzz the the
aaa aaa aaa
the
the
the
aaa

-------
лучше по утру на Google Earth искать ГДЕ ты пил, чем на youtube КАК...
http://forum.oszone.net/image.php?type=sigpic&userid=68333&dateline=1203429944


Отправлено: 12:32, 12-06-2014 | #7


Ветеран


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

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


Код: Выделить весь код
@echo off& :команда "echo off" обязательна
set "word_1=the"
set "word_2=мама"
(
for /f "usebackq delims=" %%i in ("1.txt") do (
 for %%j in (%%i) do (
  if /i "%%j"=="%word_1%" (
   set /p"=%word_2% "<nul
   ) else (
   set /p"=%%j "<nul
   )
  )
  echo.
 )
)>"2.txt"
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:29, 12-06-2014 | #8


Аватара для zeroua

Ветеран


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

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


Georgio, все прекрасно но он создает новый файл, а мне по условию задачи лучше что бы он перезаписал тот же файл, можно это реализовать.

-------
лучше по утру на Google Earth искать ГДЕ ты пил, чем на youtube КАК...
http://forum.oszone.net/image.php?type=sigpic&userid=68333&dateline=1203429944


Отправлено: 14:38, 13-06-2014 | #9


Ветеран


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

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


Код: Выделить весь код
@echo off& :команда "echo off" обязательна
set "word_1=the"
set "word_2=мама"
(
for /f "usebackq delims=" %%i in ("1.txt") do (
 for %%j in (%%i) do (
  if /i "%%j"=="%word_1%" (
   set /p"=%word_2% "<nul
   ) else (
   set /p"=%%j "<nul
   )
  )
  echo.
 )
)>"2.txt"
move "2.txt" "1.txt">nul
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:22, 13-06-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - замена слов в XML файле danishru Скриптовые языки администрирования Windows 0 09-02-2014 01:06
CMD/BAT - [решено] Замена слова в строчках текстового файла Bruce Wayne Скриптовые языки администрирования Windows 4 11-05-2013 22:39
CMD/BAT - [решено] Поиск и замена заданного текста cmn13 Скриптовые языки администрирования Windows 4 26-02-2013 09:50
VBS/WSH/JS - [решено] Замена слов из списка aggressor_ Скриптовые языки администрирования Windows 12 26-06-2012 02:17
[решено] Bluetooth в Windows 7 - нет связи с Nokia N8, замена ПО на другое Котяра Хочу все знать 10 17-02-2012 20:51




 
Переход