Commandes diverses: Difference between revisions

From hugovil.com
Jump to navigationJump to search
No edit summary
No edit summary
Line 32: Line 32:


  find . -name .svn -exec rm -rf {} \;
  find . -name .svn -exec rm -rf {} \;
=tar avec SSH=
  tar jcvf - directory | ssh user@host "cat > directory.tar.bz2"
=Lecture température disque dur=
  $> hddtemp /dev/sda
=Effacer une ligne dans un fichier=
  sed -i -e '/#include "header.h"/d' main.c
  for f in *.{c,h}; do sed -i '/#include "header.h"/d' ${f} ;done

Revision as of 19:22, 2 April 2026

Affichage des fichiers avec majuscule en premier

 set LC_COLLATE=C

How to do a search and replace over multiple files?

You could use find and sed, but I find that this little line of perl works nicely:

   perl -pi -w -e 's/search/replace/g;' *.php 
 -e means execute the following line of code.
 -i means edit in-place
 -w write warnings
 -p loop

Example I had the following style sheet in a section:

 <link rel="stylesheet" type="text/css" href="../includes/style.css">

and I wanted the following instead:

 <link rel="stylesheet" type="text/css" href="admin.css">

As each expression is a regular expression you've got to escape the special characters such as forward slash and .

 \.\.\/includes\/style\.css

So the final line of code ends up as

 perl -pi -w -e 's/\.\.\/includes\/style\.css/admin\.css/g;' *.php

Supprimer un "/" à la fin

DIR="/usr/local/bin/"
echo ${DIR%/}

Effacer plusieurs fichiers avec find

find . -name .svn -exec rm -rf {} \;

tar avec SSH

 tar jcvf - directory | ssh user@host "cat > directory.tar.bz2"

Lecture température disque dur

 $> hddtemp /dev/sda

Effacer une ligne dans un fichier

 sed -i -e '/#include "header.h"/d' main.c
 for f in *.{c,h}; do sed -i '/#include "header.h"/d' ${f} ;done