У мене є скрипт оболонки (.sh), де я використовую сед команда замінити останній відповідний символ у файлі (я помістив команду нижче).
Як мені замінити команду, щоб отримати таку ж функціональність у пакетному файлі (.bat), не додаючи жодних пакетів / плагінів (для сумісності в Windows 7 та пізніших версіях)?
sed -i "$ s/,/;/g" abc.java
Відповіді:
3 для відповіді № 1Пакетні сценарії Windows не мають ніяких власних інструментів, які можуть зручно робити щось подібне до sed.
Можливо, ви можете використовувати PowerShell за допомогою простого сценарію або CSCRIPT з невеликим користувацьким сценарієм VBS або JScript.
Я б користуюсь JREPL.BAT - утиліта обробки тексту регулярного виразу. Це чистий скрипт (гібридний пакетний / JScript), який працює спочатку на будь-якій машині Windows з XP. Для цього не потрібні ніякі не рідні exe або com файли.
Повна документація доступна з командного рядка за допомогою jrepl /?
, або jrepl /??
для розсилки допомоги.
Ваша нескладна задача може бути виконана JREPL за допомогою:
call jrepl "," ";" /inc -1 /f abc.java /o -
0 для відповіді № 2
У вікнах немає седа, не без будь-якого плагіна або аддону. Якщо вам потрібно використовувати sed, ви можете встановити SED для Windows.