[cat/grep] trouver texte dans un fichier

Applications, problèmes de configuration réseau
Répondre
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

[cat/grep] trouver texte dans un fichier

Message par Shaaake »

Bonjour,

J'ai besoin d'aide, je fais un script pour automatiser les couleurs de fonds d'écran, etc, je me base sur mes fichiers de couleurs .Xresources, donc j'ai pris :

color=$(cat .Xresources | awk '/\*background:/ {print $2}')

Le problème c'est que des fois je me retrouve avec
*.background,
des fois
*background

Et il y a également des tabulations, enfin tout est différent, je pourrais avoir un peu d'aide pour essayer de faire le truc le plus universel possible ?

Merci
avi3000
Chu Ko Nu
Messages : 404
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [cat/grep] trouver texte dans un fichier

Message par avi3000 »

Le résultat de

Code : Tout sélectionner

awk '/\*background:/ {print}' ~/.Xresources
permettra d'y voir plus clair
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [cat/grep] trouver texte dans un fichier

Message par FoolEcho »

Salut,

Tu as plus intérêt à parser la sortie de xrdb -query -all je pense...

Du coup avec awk ça doit le faire...

Code : Tout sélectionner

xrdb -query -all | awk '/\*background:/ {print $2}'
Et par conséquent tu peux filtrer davatange (xterm*background ?).
«The following statement is not true. The previous statement is true.» :nage:
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [cat/grep] trouver texte dans un fichier

Message par Shaaake »

Oh effectivement ça a l'air bien plus pratique, ça fonctionne aussi avec le include du xresources ?

Pour le xterm*background j'imagine que tu veux dire de le mettre à la place de background après le awk, mais je n'ai pas xterm dans mes fichiers xresources/couleurs
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [cat/grep] trouver texte dans un fichier

Message par FoolEcho »

Shaaake a écrit : dim. 29 oct. 2017, 13:36Oh effectivement ça a l'air bien plus pratique, ça fonctionne aussi avec le include du xresources ?
Oui. x_resources
«The following statement is not true. The previous statement is true.» :nage:
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [cat/grep] trouver texte dans un fichier

Message par Shaaake »

Donc si je comprends bien, il charge en memoire les fichiers de configuration, même les fichiers compris dans include, et xrdb -query -all m'affiche ce qu'il a chargé

J'utilise xrdb -load, il vaut mieux -merge ?

Par contre vu que mes couleurs ne sont pas uniformisés dans les fichiers, j'ai des tabulations dans certains fichiers, d'autres non, il y a un moyen de modifier le awk ? Ou je dois uniformiser mes fichiers
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [cat/grep] trouver texte dans un fichier

Message par FoolEcho »

Pour moi, tu n'as besoin de te fier qu'à la sortie du query.
«The following statement is not true. The previous statement is true.» :nage:
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [cat/grep] trouver texte dans un fichier

Message par Shaaake »

Oui mais le query prends comme dans le fichier de config, donc les espaces et tabulations sont pareilles que dans les fichiers donc avec awk sur certains fichiers j'ai un résultat vide
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [cat/grep] trouver texte dans un fichier

Message par FoolEcho »

Compte tenu de la nature de ces fichiers, je pense qu'il est dangereux d'utiliser des espaces comme séparateur (on retrouve parfois des commandes avec argument). Mieux vaudrait aligner tes fichiers de manière à bien avoir les colonnes séparées par des tabulations. Ou ne pas passer par awk mais plus jouer avec du grep|sed et cut (mais ça devient vite illisible).
«The following statement is not true. The previous statement is true.» :nage:
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [cat/grep] trouver texte dans un fichier

Message par Shaaake »

Donc tu me conseille de mettre des tabulations uniquement, à la place des espaces ?
Répondre