Changer un mot dans un fichier par un autre
Résolu/Fermé
Utilisateur anonyme
-
9 juil. 2010 à 08:25
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 10 juil. 2010 à 02:19
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 10 juil. 2010 à 02:19
A voir également:
- Changer un mot dans un fichier par un autre
- Changer dns - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
5 réponses
Franzux
Messages postés
8907
Date d'inscription
mercredi 5 décembre 2007
Statut
Contributeur
Dernière intervention
27 octobre 2015
1 145
9 juil. 2010 à 08:47
9 juil. 2010 à 08:47
franz@elenium:~/test$ cat tutu banane fraise pomme pomme fraise banane concombre (pas bon !) banane fraise pomme franz@elenium:~/test$ sed 's/fraise/framboise/g' tutu > titi franz@elenium:~/test$ cat titi banane framboise pomme pomme framboise banane concombre (pas bon !) banane framboise pomme franz@elenium:~/test$
Donc dans ton cas précis, un simple :
sed 's/NAME=/SYMLINK+=/g' fichier_d_origine fichier_ciblesuffit ;)
Cordialement,
Franz.
Utilisateur anonyme
Modifié par initials 76 le 9/07/2010 à 16:02
Modifié par initials 76 le 9/07/2010 à 16:02
Bonjour ;-)
Ça roule merci :-)
Encore un grand merci :-)
Édité pour hors sujet :)
If you want to go quickly, go alone. If you want to go far, go together.
Ça roule merci :-)
KERNEL=="umad*", SYMLINK+="infiniband/%k" KERNEL=="issm*", SYMLINK+="infiniband/%k" KERNEL=="uverbs*", SYMLINK+="infiniband/%k" KERNEL=="ucm*", SYMLINK+="infiniband/%k" KERNEL=="uat", SYMLINK+="infiniband/%k" KERNEL=="ucma", SYMLINK+="infiniband/%k" KERNEL=="rdma_cm", SYMLINK+="infiniband/%k"
Encore un grand merci :-)
Édité pour hors sujet :)
If you want to go quickly, go alone. If you want to go far, go together.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 9/07/2010 à 10:37
Modifié par lami20j le 9/07/2010 à 10:37
Salut,
Mon grain de sel ;-)
Oui, ou :
Je dirais que c'est même la commande qu'il faut utiliser, sachant que
"AVANT TOUTE MODIFICATION IL FAUT TOUJOURS FAIRE UNE COPIE DE SAUVEGARDE DU FICHIER ORIGINAL"
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Mon grain de sel ;-)
Oui, ou :
Je dirais que c'est même la commande qu'il faut utiliser, sachant que
"AVANT TOUTE MODIFICATION IL FAUT TOUJOURS FAIRE UNE COPIE DE SAUVEGARDE DU FICHIER ORIGINAL"
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Utilisateur anonyme
9 juil. 2010 à 17:09
9 juil. 2010 à 17:09
Encore merci à vous tous, je viens de trouver une autre application à cette commande de sed pour éditer le fichier de configuration du kernel :
Excellent, avant je passait mon temps à chercher après :-)
alexis:/usr/src/linux# cat .config | grep DEVTMPFS # CONFIG_DEVTMPFS is not set alexis:/usr/src/linux# sed -i.orig 's/CONFIG_DEVTMPFS is not set/CONFIG_DEVTMPFS=y/g' .config alexis:/usr/src/linux# cat .config | grep DEVTMPFS # CONFIG_DEVTMPFS=y
Excellent, avant je passait mon temps à chercher après :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 juil. 2010 à 18:23
9 juil. 2010 à 18:23
Re,
Oui, mais ça ce n'est pas une chose à faire.
La configuration du noyau passe par make menuconfig et pas avec sed
Ensuite pas besoin de cat fichier | grep motif
Il suffit de faire grep motif fichier
Ce qui donne
Et puis même si -i.orig te permets de faire une copie de sauvegarde vaut mieux voir d'abord ce que fait sed sans modifier.
Dans ton cas il y a une seule occurrence. Je te laisse imaginer s'il y en a plusieurs.
Si le résultat te conviens alors tu peux utiliser -i.orig
Donc vérification
On voit bien que le résultat conviens cette fois, mais avec les regex il faut se méfier. Tu dois savoir que le moteur des regex n'est pas intelligent, il est juste persévèrent, un bon soldat quoi ;-))
Tu donnes un ordre et il l'exécute, il ne demandera jamais pourquoi. Je te laisse imaginer un mauvais ordre.
Oui, mais ça ce n'est pas une chose à faire.
La configuration du noyau passe par make menuconfig et pas avec sed
Ensuite pas besoin de cat fichier | grep motif
Il suffit de faire grep motif fichier
Ce qui donne
lami20j@debian-acer:/usr/src/linux$ grep DEVTMPFS .configCONFIG_DEVTMPFS=y # CONFIG_DEVTMPFS_MOUNT is not set
Et puis même si -i.orig te permets de faire une copie de sauvegarde vaut mieux voir d'abord ce que fait sed sans modifier.
Dans ton cas il y a une seule occurrence. Je te laisse imaginer s'il y en a plusieurs.
Si le résultat te conviens alors tu peux utiliser -i.orig
Donc vérification
lami20j@debian-acer:/usr/src/linux$ sed 's/CONFIG_DEVTMPFS is not set/CONFIG_DEVTMPFS=y/g' .config | grep DEVTMPFS CONFIG_DEVTMPFS=y # CONFIG_DEVTMPFS_MOUNT is not set
On voit bien que le résultat conviens cette fois, mais avec les regex il faut se méfier. Tu dois savoir que le moteur des regex n'est pas intelligent, il est juste persévèrent, un bon soldat quoi ;-))
Tu donnes un ordre et il l'exécute, il ne demandera jamais pourquoi. Je te laisse imaginer un mauvais ordre.
Salut :-)
Tout à fait d'accord, la configuration est idéale par make menuconfig, mais j'y ai cherché
DEVTMPFS sans succès dans toutes les options du noyaux et pour finir, c'était plus simple d'éditer .config en y cherchant l'occurrence :-)
Mais je vais faire attention à ce que tu dis à propos de l'édition de ce fichier, c'est vrai que j'aurais pu avoir plusieurs occurrences ;-)
Je vais faire un topic sur deux bugs découverts avec 2.6.34.1 sur Debian et leur solutions pour partager avec tout le monde ;-)
@++
Tout à fait d'accord, la configuration est idéale par make menuconfig, mais j'y ai cherché
DEVTMPFS sans succès dans toutes les options du noyaux et pour finir, c'était plus simple d'éditer .config en y cherchant l'occurrence :-)
Mais je vais faire attention à ce que tu dis à propos de l'édition de ce fichier, c'est vrai que j'aurais pu avoir plusieurs occurrences ;-)
Je vais faire un topic sur deux bugs découverts avec 2.6.34.1 sur Debian et leur solutions pour partager avec tout le monde ;-)
@++
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 10/07/2010 à 02:22
Modifié par lami20j le 10/07/2010 à 02:22
Re,
mais j'y ai cherché DEVTMPFS sans succès dans toutes les options du noyaux et pour finir,
Ben, il faut alors apprendre chercher ;-)
Après make menuconfig on a ça
Il faut taper / pour Recherche (voir en gras) et écrire l'option que tu cherche dans la boite de dialogue qui s'ouvre.
Tu vas voir ça
Donc on va regarder dans Device Drivers / Generic Driver Options et on va trouver ça
[*] Create a kernel maintained /dev tmpfs (EXPERIMENTAL)
Si tu séléctionnes Help et tu regardes tu verras ça
Mais attention, cette options a des dépendances
Depends on: HOTPLUG [=y] && SHMEM [=y] && TMPFS
La modifications avec sed n'a pas pris en compte les dépendances et le seul moyen de savoir c'est d'utiliser correctement menuconfig.
En utilisant le même moyen de recherche tu trouveras la location des autres options pour vérifier si elle sont bien configurées.
mais j'y ai cherché DEVTMPFS sans succès dans toutes les options du noyaux et pour finir,
Ben, il faut alors apprendre chercher ;-)
Après make menuconfig on a ça
.config - Linux Kernel v2.6.32 Configuration Linux Kernel Configuration Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] built-in [ ] excluded <M> module < > module capable General setup ---> [*] Enable loadable module support ---> -*- Enable the block layer ---> Processor type and features ---> Power management and ACPI options ---> Bus options (PCI etc.) ---> Executable file formats / Emulations ---> -*- Networking support ---> Device Drivers ---> Firmware Drivers ---> File systems ---> Kernel hacking ---> Security options ---> -*- Cryptographic API ---> [*] Virtualization ---> Library routines ---> --- Load an Alternate Configuration File Save an Alternate Configuration File <Select> < Exit > < Help >
Il faut taper / pour Recherche (voir en gras) et écrire l'option que tu cherche dans la boite de dialogue qui s'ouvre.
Tu vas voir ça
Symbol: DEVTMPFS_MOUNT [=n] Prompt: Automount devtmpfs at /dev Defined at drivers/base/Kconfig:28 Depends on: DEVTMPFS [=y] Location: -> Device Drivers -> Generic Driver Options -> Create a kernel maintained /dev tmpfs (EXPERIMENTAL) (DEVTMPFS [=y]) Symbol: DEVTMPFS [=y] Prompt: Create a kernel maintained /dev tmpfs (EXPERIMENTAL) Defined at drivers/base/Kconfig:11 Depends on: HOTPLUG [=y] && SHMEM [=y] && TMPFS [=y] Location: -> Device Drivers -> Generic Driver Options
Donc on va regarder dans Device Drivers / Generic Driver Options et on va trouver ça
[*] Create a kernel maintained /dev tmpfs (EXPERIMENTAL)
Si tu séléctionnes Help et tu regardes tu verras ça
CONFIG_DEVTMPFS: This creates a tmpfs filesystem, and mounts it at bootup and mounts it at /dev. The kernel driver core creates device nodes for all registered devices in that filesystem. All device nodes are owned by root and have the default mode of 0600. Userspace can add and delete the nodes as needed. This is intended to simplify bootup, and make it possible to delay the initial coldplug at bootup done by udev in userspace. It should also provide a simpler way for rescue systems to bring up a kernel with dynamic major/minor numbers. Meaningful symlinks, permissions and device ownership must still be handled by userspace. If unsure, say N here. Symbol: DEVTMPFS [=y] Prompt: Create a kernel maintained /dev tmpfs (EXPERIMENTAL) Defined at drivers/base/Kconfig:11 Depends on: HOTPLUG [=y] && SHMEM [=y] && TMPFS [=y] Location: -> Device Drivers -> Generic Driver Options
Mais attention, cette options a des dépendances
Depends on: HOTPLUG [=y] && SHMEM [=y] && TMPFS
La modifications avec sed n'a pas pris en compte les dépendances et le seul moyen de savoir c'est d'utiliser correctement menuconfig.
En utilisant le même moyen de recherche tu trouveras la location des autres options pour vérifier si elle sont bien configurées.
9 juil. 2010 à 09:04
sed 's/NAME=/SYMLINK+=/g' fichier_d_origine fichier_cible
Oui, ou :
9 juil. 2010 à 09:08
Modifié par jipicy le 9/07/2010 à 09:19
Derrière le "." tu mets le suffixe que tu veux (BAK, bak, orig, etc.).
Edit : Enfin non, le "-i" permet de modifier le fichier "in place", la copie de secours se fait en rajoutant un suffixe...