GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter du texte à tous les fichiers d'un dossier ?

Cette question a déjà des réponses ici :Comment ajouter un contenu de fichier texte particulier à chaque fichier texte d'un répertoire et de ses sous-répertoires ?

(6 réponses)
Fermé il y a 3 ans.

Je souhaite ajouter un texte contenu dans le fichier disclaimer.txt à tous les fichiers .m d'un dossier.

J'ai essayé ce qui suit :

text=$(cat ./disclaimer.txt)

for f in ./*.m
do
   sed -i '1i $text' $f
done

mais il ajoute juste une ligne vide.

Réponse acceptée :

Il existe plusieurs façons de procéder, mais voici un premier essai rapide :

#!/bin/sh
for file in *.m; do
    cat disclaimer.txt $file >> $file.$$
    mv $file.$$ $file
done

Il concatène la clause de non-responsabilité avec le fichier d'origine dans un nouveau fichier temporaire, puis remplace le fichier d'origine par le contenu du fichier temporaire.


Linux
  1. Comment supprimer tous les fichiers d'un dossier sauf un fichier spécifique sous Linux

  2. Afficher tout le fichier jusqu'au match ?

  3. Comment trouver des parenthèses sans correspondance dans un fichier texte ?

  4. Index cPanel

  5. Comment ajouter du texte à un fichier ?

Comment supprimer tous les espaces blancs d'un fichier texte

Toutes les commandes de compression/décompression Linux

sed débutant :modification de toutes les occurrences d'un dossier

Comment puis-je trouver toutes les extensions de fichiers distinctes dans une hiérarchie de dossiers ?

Comment diriger un appel de sous-processus vers un fichier texte ?

Comment sélectionner tout le texte d'un fichier avec nano ?