shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] alguém pode me ajudar a resolver?


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] alguém pode me ajudar a resolver?
Date: Fri, 13 May 2005 15:40:08 -0300 (BRT)


Em awk acho que resolve com algo assim:

BEGIN{
    FS=OFS=";"
}
{
    if($4)
        sub("@",";",$4);
    else
        $4=";";
    print
}

One-liner:

$ awk 'BEGIN{FS=OFS=";"}{if($4)sub("@",";",$4);else $4=";";print}' arq
2005-05-02;04:45:21;88B6629FBF;ezihwqmsh;yahoo.com;13147;1
2005-05-02;04:45:26;AA2F926FC1;;;7012;1

Ou, em shell...

$ cat xucrute.sh
#!/bin/bash
IFS=";"
while read a b c d e f; do
    if [ "$d" ]; then
        d=${d/@/;}
    else
        d=";"
    fi
    echo "$a;$b;$c;$d;$e;$f"
done

$ ./xucrute.sh < arq
2005-05-02;04:45:21;88B6629FBF;ezihwqmsh;yahoo.com;13147;1
2005-05-02;04:45:26;AA2F926FC1;;;7012;1

[ ]'s
--
Eliphas

SuSE List, @ 13:17:

Tenho estas duas linhas:

2005-05-02;04:45:21;88B6629FBF;address@hidden;13147;1
2005-05-02;04:45:26;AA2F926FC1;;7012;1

eu dou o comando:

# echo "2005-05-02;04:45:21;88B6629FBF;address@hidden;13147;1" |
awk -F "@" '{ print $1";"$2 }'
2005-05-02;04:45:21;88B6629FBF;ezihwqmsh;yahoo.com;13147;1

so que, a segunda linha, nao tem o @, logo tem como tratar a segunda
linha na sequancia, com um awk alinhado pra ter isso como saida (um ";"
a mais entre o ID e o email que nao existe na segunda linha),
processando as duas linhas na sequancia:

2005-05-02;04:45:21;88B6629FBF;ezihwqmsh;yahoo.com;13147;1
2005-05-02;04:45:26;AA2F926FC1;;;7012;1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]