Ummmmmm, c'est un perl one-liner grâce à la joli -i drapeau pour filtrage en place des fichiers d'entrée !
**perl -ni.bak -e 'print unless /pattern.to.remove/' file1 file2 ...**
Dans le contexte...
% echo -e 'foo\ngoo\nboo' >test
% perl -ni.bak -e 'print unless /goo/' test
% diff test*
--- test 2010-01-06 05:09:13.503334739 -0800
+++ test.bak 2010-01-06 05:08:28.313583066 -0800
@@ -1,2 +1,3 @@
foo
+goo
boo
voici la référence rapide rognée sur l'incantation perl utilisée...
% perl --help
Usage: perl [switches] [--] [programfile] [arguments]
-e program one line of program (several -e's allowed, omit programfile)
-i[extension] edit <> files in place (makes backup if extension supplied)
-n assume "while (<>) { ... }" loop around program
et pour un crédit supplémentaire, vous pouvez utiliser touch -r file.bak file
pour copier l'ancien horodatage dans le nouveau fichier. Les inodes seront différents, cependant, et des choses étranges peuvent se produire si vous avez des liens durs dans le mélange... vérifiez les docs si vous êtes un utilisateur de l'Internet. qui ont motivé pour couvrir vos traces... Hmmmmm, quelle était votre demande déjà ?