Vous avez un morceau de code à insérer dans plusieurs fichiers ? Ensuite, vous êtes comme moi en train de passer un moment difficile! Je travaillais sur un site Web hébergé dans cpanel qui contenait de nombreux fichiers HTML dans chacun desquels un code contextuel devait être inséré. Le nombre de fichiers HTML était de 425. C'était un cauchemar de le faire sous Windows. Mais bon, je ne vous ai pas dit que j'avais trouvé une façon plus intelligente de le faire. Paiement ci-dessous !
Étape 1 :Copier des fichiers depuis CPANEL
Copiez tous les fichiers de cpanel vers votre système Windows local à l'aide de WinSCP.
Étape 2 :Copier des fichiers de Windows vers Linux
Copiez ensuite les fichiers HTML sur un serveur Linux. Si vous ne disposez pas de votre propre serveur, vous pouvez exécuter un système Linux virtuellement sur votre bureau à l'aide de virtualbox. Découvrez comment installer virtualbox ici.
Étape 3 :Utilisez la commande "sed" pour insérer du code
Utilisez la commande sed ci-dessous pour insérer votre code à partir d'un autre fichier. Par exemple :Données à insérer du fichier « add.txt » dans « input.txt ». Maintenant la commande serait :
Input.txt
abcd efgh ijkl mnop qrst
add.txt
uvwx yzab cdef ghij klmn
$sed '/ijkl/r add.txt' input.txt
La commande ajouterait le contenu de add.txt à input.txt après que le modèle "ijkl" corresponde. Ainsi, la sortie serait :
abcd efgh ijkl uvwx yzab cdef ghij klmn mnop qrst
La commande ci-dessus afficherait le contenu sur le terminal. Pour mettre à jour le fichier avec le contenu, utilisez ensuite le "-i" avec la commande sed comme indiqué ci-dessous :
$sed -i '/ijkl/r add.txt' input.txt
Si vous devez insérer du contenu en entrée directe et non à partir du fichier, vous pouvez utiliser la commande ci-dessous :
$sed -i 's/.*ijkl.*/uvwx\n&/' input.txt
abcd efgh ijkl uvwx mnop qrst
Étape 4 :Exécutez la commande ci-dessus dans une boucle avec le nombre de fichiers
Allez dans le répertoire où les fichiers doivent être modifiés. Utilisez "for loop" insérez les données avec la commande ci-dessous :
for i in *; do $sed '/ijkl/r add.txt' $i done
Dans le code ci-dessus * représente les fichiers. Pour chaque fichier, en tant que $i, ajoutez le contenu du fichier add.txt après que le modèle "ijkl" soit trouvé.
Étape 5 :Copiez les fichiers de Linux vers Windows vers Cpanel
La dernière étape consiste à recopier les fichiers modifiés du serveur Linux vers le système Windows local. Et puis utilisez scp ou ftp pour copier les fichiers du système Windows local vers cpanel.