Concatenation csh

Bonjour,
je débute en csh, et j'aurais voulu savoir comment rajouter une chaine de caractères au début d'un fichier non vide. Je sais que la commande >> ajoute une chaine, mais en fin de fichier.
De plus, est-il possible de copier un fichier texte en supprimant une certaine ligne de ce fichier ?
Merci de votre aide.

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    Pour supprimer une ligne :
    Darkito >cat totof
    toto un
    titi deux
    tata trois
    Darkito >sed '2d' totof
    toto un
    tata trois
    
    
    
    
    (ici on supprimera le 2ème ligne)
    1. Pour ajouter une chaine de caractère

      Darkito >cat totof
      toto un
      titi deux
      tata trois
      Darkito > sed '1 s@\(.*\)@Ajout\n\1@' totof
      Ajout
      toto un
      titi deux
      tata trois
      

      1. Merci bien
        et comment fait-on pour rediriger cette commande dans ce fichier ? J'essaie avec les pipe mais pour l'instant j'y arrive pas...
        1. Pour l'insertion, il y a même plus simple (je viens de découvrir ça à l'instant)
          Darkito >cat totof
          toto un
          titi deux
          tata trois
          Darkito >sed '1 i\Ajout' totof
          Ajout
          toto un
          titi deux
          tata trois
          
          
          1. Merci beaucoup
            et dis moi, comment dois-je faire pour comparer la 1ere ligne d'un fichier avec une phrase ?
            Quand je fais par exemple

            if (`head -1 $fichier1`=="blablabla") then
            echo "vrai"
            else echo "faux"
            endif

            il verifie bien si la premiere ligne est "blablabla". Mais si c'est "blablabla bla", il me repond faux; et je n'y arrive pas en faisant "...== "blablabla *".

            Bref, je voudrais qu'il regarde si le premier mot est bien "blablabla", et quel que soit la suite. Si je met "...=="blablabla*"", ca ne marche pas. Comment faire ?
            1. J'ai linux qu'au boulot donc je peux pas vérifier
              il doit y avoir plus simple avec une expression régulière mais tu peux essayer :
              if(`head -1 $fichier1 | grep blablabla >/dev/null`) then