LINUX.ORG.RU

Sed

 ,


0

1

у меня есть число Sim=«989907510653028262F0» мне надо привести его к виду 56035202826 0 я пока что дошел до этой команды echo «${Sim:6:15}» | while read -n2 C ; do echo -n «${C:1}${C::1}» ; done ; echo и выдает она 1560352028260F мне надо удалить первый символ и последний и поставить пробел перед пред последним

echo $Sim | sed -E 's/.{6}(.*)..(.)/\1 \2/'

или

echo $Sim | sed -E 's/[0-9]{6}([0-9]{11})..(.)/\1 \2/'

Или как-то так. Тут смотря каким может быть это число, с какой стороны фиксированное количество знаков считать, или как.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)
Ответ на: комментарий от Psych218

И охота вам было отвечать? ТСа уже повозили мордочкой: Sed , так он новый тред создал...

Кстати, там шестнадцатеричные числа с инверсией полубайтов... :)

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 2)
Ответ на: комментарий от TimurKazdayev

Ты отвечать на мой вопрос будешь в той тем или нет?

Кстати, я знаю правильный ответ на тот вопрос, который ты там пытался сформулировать.

Первая часть ответа

$ HOBIbYKOD=...
Вторая часть ответа
$ echo -e ${Sim}"\n"${HOBIbYKOD}
989907510653028262F0
56035202826 0

Но так как ты отметил тему как решённую, наверное, ты сам уже разобрался, что должно быть вместо трёх точек.

justAmoment ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.