Sed remplacer un motif par un motif modifié

Fermé
John - 7 juil. 2014 à 12:36
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 - 7 juil. 2014 à 15:12
Bonjour,



j'ai un fichier contenant les lignes suivantes
INSERT INTO ipaddresses (subnetId,ip_addr,description,dns_name,state,excludePing,editDate) VALUES (7,192.168.1.1,DHCP,,,0,NULL);

je cherche a modifier l'ip de chaque ligne par la valeur decimale de cette meme ip

j'avais pensé inserer awk dans ma commande sed pour effectuer la modification à la volée


sed -e "s/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/'echo \\& |awk -F '\\.' '{printf "%d\n", ($1 * 2^24) + ($2 * 2^16) + ($3 * 2^8) + $4}''/g" fichier.sql

je bloque sur l'ajout de awk dans sed (n'affiche plus rien lors de l'execution)

une piste ? si possible en one liner
cordialement,



1 réponse

dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 5 623
7 juil. 2014 à 15:12
hello
et en awk seulement ?
$ awk 'BEGIN {FS=OFS=","} {split($8, a, "."); $8=(a[1] * 2^24) + (a[2] * 2^16) + (a[3] * 2^8) + a[4]; print}' fichier
INSERT INTO ipaddresses (subnetId,ip_addr,description,dns_name,state,excludePing,editDate) VALUES (7,3232235777,DHCP,,,0,NULL);
1