Supprimer les fichiers avi, mpg, mp3, wmv sous Linux

Comme j’en ai marre de voir mes ados attardés passer leur temps à télécharger et à regarder les conneries qu’ils téléchargent, j’ai conçu un script qui, à certaines heures, efface de mon disque tous les fichiers mp3, wmv, mpg et avi.

Là où les choses sont simples sous Windows, c’est toujours compliqué sous Linux. En bref, choisir Linux, c’est souvent choisir la loi de l’emmerdement maximum. Je viens d’en faire l’amère expérience avec ma carte Wifi sur mon Acer Aspire 5715Z et sa carte Atheros. Après 2 heures de tentatives à vouloir la configurer, j’ai dû renoncer.

Pour revenir au script d’effacement des séries à la con et des films américains qui liquéfient le cerveau de nos ados au look et à la casquette « Ricain » :

#!/bin/bash
find . -regextype egrep -iregex « ^.+\.(avi|mpg)$ » -print0|xargs -0 /bin/rm -f -R

Quant à ceux d’entre vous qui pourraient croire un instant à mes tendances liberticides, je pense tout le contraire. La société moderne n’a plus besoin de serfs.

Linux  / Linux 

Commentaires

« Là où les choses sont simples sous Windows, c’est toujours compliqué sous Linux »

Peux tu développer stp, étant trés relatif celon la conception de chacun.
La preuve après plusieurs expériences, je pense le contraire.
J’ai en tête des heures d’administration, installations et back up qui me semblent bien trop compliquées
sous windows.
Même avec des scripts PowerShell.

del /f /s /q c:\*.avi

Euh…

#!/bin/zsh
rm -f **/*.{avi,mpg,mp3,wmv}

Je ne trouve pas ça super compliqué.
Comment supprime-tu les différents types de fichier en une seule ligne sous Windows ?

Et que dirais-tu de les éduquer, à la place ?

Ouais et en bash ???

L’objectif n’est pas que l’écriture soit ramassée. L’objectif est d’éviter d’y penser durant 2 heures avant de pouvoir faire le script !!! Accessoirement, c’est encore mieux quand c’est lisible. Côté hacker fou, c’est bon : j’ai donné !

Sous Windows : je crée un .cmd… genre rm-conneries-mm.cmd utilisable sous la forme : rm-conneries-mm avi wmv mpg mp3

@echo off
cls
:suite
del /f /s /q c:\%1
shift
if [%1]==[] goto fin
goto suite
:fin

Temps de conception : 30s / Lisibilité : bonne (???)

NB Il faudrait traiter le lecteur avec un if. Avantage Linux.

@Louiz

Je suppose que tu parles en connaissance de cause et que tu t’y connais, toi, en éducation.

Au cas où tu n’aies pas encore d’enfants et notamment d’ados, je prends un ticket pour que nous parlions de l’éducation de tes enfants.

L’éducation que l’on réussit, c’est celle qu’on tâche d’éviter de reproduire ! C’est en tout cas ce que je crois profondément. Maintenant, je peux aussi me tromper.

En bash 4, ça marche aussi normalement…

Et je trouve ça plus lisible, mais je pense que ça vient en partie de la connaissance du langage.

rm : On supprime
-f : sans poser de question
**/ : dans tous les sous-dossiers (c’est ce truc là qui ne doit pas marcher dans bash < 4)
* : tous les fichiers
. : dont l’extension
{avi : est soit avi,
,mpg : soit mpg,
,mp3 : soit mp3,
,wmv} : soit wmv.

Bon, il y a aussi que j’aime bien quand l’écriture du programme est courte.
Il y en a qui préfère une écriture plus longue mais plus lisible sans connaitre le langage :
find -regex ‘.*\.\(flip\|flop\)’ -exec rm -f {} +;
(je ne suis pas sur que ce soit forcement plus lisible, m’enfin ça vient peut-être de la présence de la regexp).

En tout cas ça fait un script propre (et sans goto).

Le problème, à mon avis, viens surtout de la connaissance du langage et des commandes, tu dois te sentir plus à l’aise avec du batch, moi non donc je trouve ça plus complexe et moins lisible que du shell que je connais mieux.

Je connais bien le bash quant à ses structures. C’est au niveau des commutateurs que l’info est plus difficile.

c’est modéré ici j’espère…
en fait je vais rester « soft »
dites vous vous êtes questionné sur le tragique et la connerie de votre comportement ?
le dialogue, la responsabilisation… vous connaissez ?

ah mais oui… vous avez des gamins…
vous êtes donc un spécialiste et vos méthodes les mailleures
POUAH !

@ggn

Savez-vous lire ? Si oui, prenez alors le temps de lire ce que j’ai écrit un peu au-dessus. Dire ce que l’on a fait ne veut pas dire croire avoir raison.

Quant à la connerie : « Les cons, ça ose tout. C’est même à ça qu’on les reconnaît. »

NB J’espère que ça a pu vous défouler.

En même temps vous avez déjà vu des ados attardés utilisés Linux ?
Sinon vu qu’on est parti sur plusieurs solutions, en voici une autre :

for i in `find . -type f -name « *.avi » -or -name « *.mpg »` ; do rm -f $i ; done

@+ ET restez cool ;)

@Sylvain

Les grands utilisent Linux depuis 3 à 4 ans pour tout vous dire. A la maison, ils n’ont pas le choix.

Comme quoi on peut être attardé et linuxien ;+) Mais ça, nous le savions déjà.

NB Peut pas marcher votre script. J’ai besoin de balayer tout le système de fichiers.

Bonjour

J’essaye d’utiliser votre commande dans un script
# !/bin/bash
# script for delete junk media like mpg-avi-wnv

find . -regextype egrep -iregex « ^.+\.(avi|mpg)$ » -print0|xargs -0 /bin/rm

# end script

Je recois un message du type : /bin/rm missing operand
Je pense qu’il me manque un bout de code

Merci.

directement dans une crontab : rm -f **/*.{avi,mpg,mp3,wmv} pk faire plus compliquer ?
et ps je suis pas un expert de windows mais alors le scipt est franchement dégueu je comprend pas la moité des lignes pourtant je dev (python c/c++/c# java php js bash …)

@echo off –> ???
cls –> encore plus ??? le but du script c’est pas simplement de supprimer des fichiers ?
:suite –> j’imagine que c’est un label puisqu’il y a un goto (Ha Ha Ha) suite
del /f /s /q c:\%1 –> la commande qui supprime ok pour le /f (déja c’est quoi ce systeme de / pour les argument) et le %1 bah aucune ID
shift –> la je suis completement perdu
if [%1]==[] goto fin –> tj aussi perdu ok les [] c’est un tableau ??? et le %1 un element ???
goto suite –> ah la je suis content une instruction que je comprend mais qui reste tres deprecated
:fin –> genial la sortie de la boucle n’est t’il pas ???

Linux offre une gestion et manipulation bien plus simple et puissante que windows !

Quand a l’intérêt du script auccun, le gamin aura vite fais de renommer le fichier et de le cacher pour faire chier papa : $mv toto.avi .toto.avi2 de toute facon sous linux l’extention n’a auccune importance :D

Laisser un commentaire

(requis)

(requis)