LINUX.ORG.RU

echo "2008-07-06" | awk 'BEGIN { FS = "-" }; { print $3"-"$2"-"$1}'

06-07-2008

Uncle_Theodore ★★
()

A="2008-07-06"
B=( ${A//-/ } )
echo "${B[2]}-${B[1]}-${B[0]}"

mky ★★★★★
()

Можно и sed:

$ echo 2008-07-06 | sed -e 's/\(.*\)-\(.*\)-\(.*\)/\3-\2-\1/'
06-07-2008

io ★★
()

% d="2008-07-06"
% date -d $d "+%m-%d-%Y"
07-06-2008

anonymous
()

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void reverse_substr(char *str, int len) {
    int i;
    for(i=0; i<len/2; ++i) {
        str[i] = str[len-i-1] - str[i];
        str[len-i-1] = str[len-i-1] - str[i];
        str[i] = str[len-i-1] + str[i];
    }
}

int main(int argv, char **argc) {
    if (argv < 2) {
        puts("Argument required");
        exit(1);
    }
    char *line = argc[1];
    char *start, *end;
    reverse_substr(line, strlen(line));
    start = end = line;
    do {
        if(*end == '.' || *end == 0) {
            reverse_substr(start, end-start);
            start = end+1;
        }
    } while(*end++);
    puts(line);
}

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