Scripting shell (plusieurs lines sur une seule)
Résolu/Fermé
Utilisateur anonyme
-
24 mai 2019 à 15:49
lEprofSonDkon Messages postés 211 Date d'inscription jeudi 13 décembre 2018 Statut Membre Dernière intervention 8 octobre 2022 - 24 mai 2019 à 20:31
lEprofSonDkon Messages postés 211 Date d'inscription jeudi 13 décembre 2018 Statut Membre Dernière intervention 8 octobre 2022 - 24 mai 2019 à 20:31
A voir également:
- Scripting shell (plusieurs lines sur une seule)
- Comment imprimer un tableau excel sur une seule page - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Fusionner plusieurs feuilles excel en une seule - Guide
- Mettre une seule page en paysage word - Guide
- Application se ferme toute seule android - Guide
4 réponses
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
24 mai 2019 à 19:49
24 mai 2019 à 19:49
non, on ne pipe pas plusieurs fois
on utilise tout de suite
c'est un langage de script à part entière.
et, pour t'apporter une réponse cohérente, il nous faut le fichier d'origine à traiter.
greppour finalement utiliser
awk!
on utilise tout de suite
awk.
c'est un langage de script à part entière.
et, pour t'apporter une réponse cohérente, il nous faut le fichier d'origine à traiter.
Utilisateur anonyme
24 mai 2019 à 19:57
24 mai 2019 à 19:57
Voici une partie du fichier que je souhaite traiter.
root@server:~# grep "127.0.0.1" /etc/hosts
# There is a version of this file that uses 127.0.0.1 instead of 0.0.0.0
127.0.0.1 localhost
127.0.0.1 localhost.localdomain
127.0.0.1 local
0.0.0.0 ms127.0.0.101341.club
# This *must* be the first line: 127.0.0.1 localhost #
127.0.0.1 localhost
root@gern:~#
le fichier est trop volumineux pour etre coller ici :
root@server:~# du -sh /etc/hosts
896K /etc/hosts
root@server:~# wc -l /etc/hosts
30716 /etc/hosts
root@server:~#
j'use grep et awk simplement car je ne sais pas utiliser awk pour autre chose que sa fonction print.
root@server:~# grep "127.0.0.1" /etc/hosts
# There is a version of this file that uses 127.0.0.1 instead of 0.0.0.0
127.0.0.1 localhost
127.0.0.1 localhost.localdomain
127.0.0.1 local
0.0.0.0 ms127.0.0.101341.club
# This *must* be the first line: 127.0.0.1 localhost #
127.0.0.1 localhost
root@gern:~#
le fichier est trop volumineux pour etre coller ici :
root@server:~# du -sh /etc/hosts
896K /etc/hosts
root@server:~# wc -l /etc/hosts
30716 /etc/hosts
root@server:~#
j'use grep et awk simplement car je ne sais pas utiliser awk pour autre chose que sa fonction print.
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
24 mai 2019 à 20:08
24 mai 2019 à 20:08
il ne te reste qu'à apprendre. :)
awk '/127\.0\.0\.1/ && !/#/ && !/0\.0\.0/{oneLine=oneLine?oneLine" "$1" "$2:$1" "$2}END{print oneLine}' /etc/hosts
Utilisateur anonyme
24 mai 2019 à 20:10
24 mai 2019 à 20:10
merci mais malheureusement ce n'est pas le résultat attendu.
root@server:~# awk '/127\.0\.0\.1/ && !/#/ && !/0\.0\.0/{oneLine=oneLine?oneLine" "$1" "$2:$1" "$2}END{print oneLine}' /etc/hosts
127.0.0.1 localhost 127.0.0.1 localhost.localdomain 127.0.0.1 local 127.0.0.1 localhost
instead of
127.0.0.1 localhost localhost.localdomain local localhost
root@server:~# awk '/127\.0\.0\.1/ && !/#/ && !/0\.0\.0/{oneLine=oneLine?oneLine" "$1" "$2:$1" "$2}END{print oneLine}' /etc/hosts
127.0.0.1 localhost 127.0.0.1 localhost.localdomain 127.0.0.1 local 127.0.0.1 localhost
instead of
127.0.0.1 localhost localhost.localdomain local localhost
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
24 mai 2019 à 20:17
24 mai 2019 à 20:17
simplement, si
oneLineexiste, n'ajoute pas
$1" "!
Utilisateur anonyme
Modifié le 24 mai 2019 à 20:18
Modifié le 24 mai 2019 à 20:18
merci je dormirais moins... plus intelligent ce soir :)
root@server:~# awk '/127\.0\.0\.1/ && !/#/ && !/0\.0\.0/{oneLine=oneLine?oneLine" "$2:$1" "$2}END{print oneLine}' /etc/hosts
127.0.0.1 localhost localhost.localdomain local localhost
thx
root@server:~# awk '/127\.0\.0\.1/ && !/#/ && !/0\.0\.0/{oneLine=oneLine?oneLine" "$2:$1" "$2}END{print oneLine}' /etc/hosts
127.0.0.1 localhost localhost.localdomain local localhost
thx
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
24 mai 2019 à 20:31
24 mai 2019 à 20:31
tu passes le sujet en résolu ?