PDA

Показать полную графическую версию : [решено] Отделить слово от строки по маске


blackeangel
11-11-2015, 22:16
Ещё раз всем привет.Напомните пожалуйста как выдрать слово из строки?
Строка типа
mediatek.wlan.module.postfix=_consys_mt6582
Маска mt65
Слово которое надо выдрать по маске
mt6582
Использовать можно sed

Foreigner
11-11-2015, 22:41
blackeangel,

@echo off
setlocal

set "str=mediatek.wlan.module.postfix=_consys_mt6582"
for %%i in (%str:_=,%) do set "mt=%%i"
echo %mt%


@echo off
setlocal

set "str=mediatek.wlan.module.postfix=_consys_mt6582"
for /f %%i in ('echo %str% ^| sed -r "s/.*_([^_]+)$/\1/"') do set "mt=%%i"
echo %mt%

blackeangel
11-11-2015, 23:07
Foreigner, а вот для такой строчки подойдёт?
set_metadata("/system/xbin/libmnlp_mt6582", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u: object_r:libmnlp_mt6582_exec:s0");

Кстати,а в коде метка мт65 где?а хотя не надо,найдём её так
for /f "delims=[] tokens=1*" %%a in ('find /i "mt65" ^< "Stok\system\build.prop"') do (
for %%i in (%%a) do (
set "mt=%%i"
)
)
echo %mt%
Или я ошибаюсь?
Я ошибся...
Из строки set_metadata("/system/xbin/libmnlp_mt6582", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u: object_r:libmnlp_mt6582_exec:s0");
Он оставляет
"u: object_r:libmnlp_mt6582_exec:s0");
Как это поправить?
Кстати не работает,если есть сплеши,пробелы,кавычки.
Вот такие бы строки чтобы ел еще
symlink("wlan_consys_mt6582.ko", "/system/lib/modules/wlan.ko");




© OSzone.net 2001-2012