Показать полную графическую версию : Текстовые файлы
AKadekin
15-08-2019, 17:08
megaloman, как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел
megaloman, как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел
megaloman
15-08-2019, 17:10
AKadekin, У меня проблема в том, что нужно убрать перед знаком ] пробел »Приведенный скрипт решает эту задачу. (http://forum.oszone.net/post-2883477-13.html)
Я уже себе перестал верить: взял Ваши файлы, еще раз их обработал, получил нужный результат. Или Вы не запускали мой скрипт, либо файлы, представленные Вами, нерабочие: например, в иной кодировке, либо в Вашем реальном файле перед ] не пробел.
И хотелось бы иметь более энергичный диалог, а не реакцию раз в сутки.
как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел »
Действительно, Вы опишите, что именно запускали, что не получилось, какие ошибки вывалились в консоли... в общем, подробности требуются, чтобы можно было помощь предложить...
greg zakharov
15-08-2019, 21:38
С помощью sed:
sed -i "s/ ]/]/g" input.txt
AKadekin
16-08-2019, 17:19
YuS_2, как правильно его запустить... запустить как bat файл, он не отработает.
запустить как bat файл, он не отработает. »
Вчера написал, в аналогичной ситуации, инструкцию для запуска скрипта powershell (http://forum.oszone.net/post-2884234.html#post2884234)
AKadekin
16-08-2019, 17:27
YuS_2, Спасибо все получилось работает
AKadekin
16-08-2019, 22:19
YuS_2, Спасибо все получилось работает
AKadekin
19-08-2019, 09:44
YuS_2,
Большое спасибо, скрипт работает. Подскажите, а почему он сохраняет результат в формате utf8 c BOM.
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM
Спасибо, я решил эту проблему
Подскажите, а почему он сохраняет результат в формате utf8 c BOM. »
Потому, что такой формат используется в powershell до версии 5.1 и utf8 без BOM, в командлетах не был предусмотрен.
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM »
Варианты есть, один из которых - установка powershell версии 6.0 или выше, где присутствует кодировка UTF8NoBOM
Encodes in UTF-8 format. - UTF8BOM : Encodes in UTF-8 format with Byte Order Mark (BOM) - UF8NOBOM : Encodes in UTF-8 format without Byte Order Mark (BOM)
либо можно воспользоваться классом .net UTF8Encoding:
#requires -v 3.0
# путь к одному каталогу с файлами:
$fldin = 'z:\Путь_к_каталогу_с_файлами\Один_Каталог\*'
# путь к разным, целевым каталогам:
$fldout1 = 'z:\Путь_к_каталогу_с_файлами\AF1'
$fldout2 = 'z:\Путь_к_каталогу_с_файлами\AX1'
# если не существуют, то создаем:
if(!(test-path $fldout1)){md $fldout1|out-null}
if(!(test-path $fldout2)){md $fldout2|out-null}
# фильтр файлов по расширению:
$inc = '*.AF1','*.AX1'
# расширение для переименования:
$ext = '.MIX'
# кодировка:
$enc = 'utf8'
$utf8 = new-object system.text.utf8encoding $false
dir $fldin -inc $inc -file|%{
$file = $_
$tmp = (gc $_.fullname -raw -enc $enc) -replace ' \]',']'
$utf8.getbytes($tmp)|sc $file.fullname -enc byte
if ($_.extension -eq '.AF1'){
mi $_.fullname ("$fldout1\" + $_.basename + $ext)
} elseif ($_.extension -eq '.AX1') {
mi $_.fullname ("$fldout2\" + $_.basename + $ext)
}
}
есть ещё и другие варианты, конечно, но думаю, что для достижения цели, этого вполне хватит...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC