URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91336
[ Назад ]

Исходное сообщение
"Посимвольная обработка строки"

Отправлено belodemon , 08-Апр-11 12:29 
Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8 цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
!Замечание, к дате не имеет никакого отношения.

Содержание

Сообщения в этом обсуждении
"Посимвольная обработка строки"
Отправлено Bosh , 08-Апр-11 12:59 

echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,6,2)}'

> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
> !Замечание, к дате не имеет никакого отношения.


"Посимвольная обработка строки"
Отправлено Bosh , 08-Апр-11 13:05 
чуть ошибся в последнем
что бы получить именно 2321-11-33

echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,7,2)}'

> echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,6,2)}'
>> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
>> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
>> !Замечание, к дате не имеет никакого отношения.


"Посимвольная обработка строки"
Отправлено belodemon , 08-Апр-11 13:22 
> чуть ошибся в последнем
>  что бы получить именно 2321-11-33
> echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,7,2)}'
>> echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,6,2)}'
>>> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
>>> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
>>> !Замечание, к дате не имеет никакого отношения.

CУПЕР!!! ПРОСТО ОГРОМНЕЙШЕЕ!!!


"Посимвольная обработка строки"
Отправлено Bosh , 08-Апр-11 13:24 
Та нема за шо )

>> чуть ошибся в последнем
>>  что бы получить именно 2321-11-33
>> echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,7,2)}'
>>> echo 23211133 | awk '{print substr($0,0,4)"-"substr($0,4,2)"-"substr($0,6,2)}'
>>>> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
>>>> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
>>>> !Замечание, к дате не имеет никакого отношения.
> CУПЕР!!! ПРОСТО ОГРОМНЕЙШЕЕ!!!


"вечная память Героям"
Отправлено Andrey Mitrofanov , 08-Апр-11 13:29 
> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?

Ну, man bash же!? Да, не всякий доплывает до середины.

$ S=23211133
$ echo "${S:0:4}-${S:4:2}-${S:6}"
2321-11-33
$ _

...Чапаев, вот, недогадлив был. Нет, чтобы по форумам побираться -- сгинул, да-а.


"вечная память Героям"
Отправлено Bosh , 08-Апр-11 13:53 
Та да есть такая шняга , можно и так )

${parameter:offset:length}
              Substring  Expansion.   Expands  to  up  to  length characters of parameter
              starting at the character specified  by  offset.  

>> Нужна помощь! Получаю на  вход (#!/bin/bash script) произвольное количество из 8
>> цифр, к примеру 23211133, необходимо получить на выходе 2321-11-33. Куда копать?
> Ну, man bash же!? Да, не всякий доплывает до середины.
> $ S=23211133
> $ echo "${S:0:4}-${S:4:2}-${S:6}"
> 2321-11-33
> $ _
> ...Чапаев, вот, недогадлив был. Нет, чтобы по форумам побираться -- сгинул, да-а.