Scripting shell (plusieurs lines sur une seule)
Résolu
Utilisateur anonyme
-
lEprofSonDkon Messages postés 211 Date d'inscription Statut Membre Dernière intervention -
lEprofSonDkon Messages postés 211 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai plusieurs lines de 127.0.0.1
root@server:~# grep -e 127.0.0.1 /etc/hosts |grep -v "#" |grep -v "0.0.0" | awk '{print $1,$2}'
127.0.0.1 localhost
127.0.0.1 localhost.localdomain
127.0.0.1 local
127.0.0.1 localhost
je voudrais que ca devienne avec une commande :
127.0.0.1 localhost localhost.localdomain local localhost
des volontaires pour m'aider?
j'ai plusieurs lines de 127.0.0.1
root@server:~# grep -e 127.0.0.1 /etc/hosts |grep -v "#" |grep -v "0.0.0" | awk '{print $1,$2}'
127.0.0.1 localhost
127.0.0.1 localhost.localdomain
127.0.0.1 local
127.0.0.1 localhost
je voudrais que ca devienne avec une commande :
127.0.0.1 localhost localhost.localdomain local localhost
des volontaires pour m'aider?
Configuration: Windows / Firefox 60.0
A voir également:
- Scripting shell (plusieurs lines sur une seule)
- Classic shell - Télécharger - Personnalisation
- Comment imprimer un tableau excel sur une seule page - Guide
- Regrouper 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
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.
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.
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