Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/05/2020, à 16:42

zaienj

Supprimer une list

Bonjour a vous
je souhaite supprimer les fichier qui sont noter sur une liste mais je ne connais pas la commande qui permet de supprimer tout les fichier noter sur ma liste donc si vous pouvez m'aider merci
bien cordialement

Hors ligne

#2 Le 25/05/2020, à 16:47

Hizoka

Re : Supprimer une list

Salut,

while read fichier
do
  [[ -e "${fichier}" ]] && rm "${fichier}"
done < fichier_liste.txt

KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 25/05/2020, à 17:14

Watael

Re : Supprimer une list

les accolades surchargent inutilement : il n'y a pas de concaténation risquant d'être interprétée comme un nom de variable, et pas de Substitution de paramètres.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 25/05/2020, à 17:30

kamaris

Re : Supprimer une list

xargs -a fichier -d'\n' rm

Hors ligne

#5 Le 25/05/2020, à 17:30

zaienj

Re : Supprimer une list

kamaris a écrit :
xargs -a fichier -d'\n' rm

je comprend pas il faut que je remplace quoi pour y mettre ma list

Hors ligne

#6 Le 25/05/2020, à 17:32

kamaris

Re : Supprimer une list

fichier

Hors ligne

#7 Le 25/05/2020, à 17:32

zaienj

Re : Supprimer une list

Hizoka a écrit :

Salut,

while read fichier
do
  [[ -e "${fichier}" ]] && rm "${fichier}"
done < fichier_liste.txt

ça ne marche pas voila mon résulta

./delet.sh: 3: ./delet.sh: [[: not found
./delet.sh: 3: ./delet.sh: [[: not found
./delet.sh: 3: ./delet.sh: [[: not found
./delet.sh: 3: ./delet.sh: [[: not found

Hors ligne

#8 Le 25/05/2020, à 17:34

zaienj

Re : Supprimer une list

kamaris a écrit :

fichier

il me dit :

rm: cannot remove '/var/log/openvpnas.log.1': No such file or directory

alors que je suis en

sudo -s

Hors ligne

#9 Le 25/05/2020, à 17:38

kamaris

Re : Supprimer une list

sudo n'invente pas les fichiers : si /var/log/openvpnas.log.1 n'existe pas, il ne sera pas possible de le supprimer.

Hors ligne

#10 Le 25/05/2020, à 17:39

Hizoka

Re : Supprimer une list

C'est un fichier bash et non sh

donc soit tu l'appelles avec : bash ton_fichier.sh
ou tu le rends exécutable et tu ajoutes en 1ere ligne : #!/bin/bash

Watael => Je trouve ça plus lisible et je préfère le mettre par défaut pour éviter les problèmes que tu signales par inattention.
Et pour le coup, ça n'ajoute que 4 caractères au total smile

EDIT : Avec ma vérification, tu n'auras pas de message d'erreur car il vérifie que le fichier existe avant de lancer la commande rm.

Dernière modification par Hizoka (Le 25/05/2020, à 17:40)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#11 Le 25/05/2020, à 18:04

Watael

Re : Supprimer une list

les guillemets aussi sont inutiles, entre [[ ]].

d'ailleurs, les double-crochets aussi sont inutiles si tu n'en utilises pas les fonctionnalités avancées.

while read -r fichier
do
    test -f "$fichier" && rm "$fichier"
done <fichierList

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#12 Le 25/05/2020, à 20:04

Hizoka

Re : Supprimer une list

Tu as raison smile

L'utilisation des crochets est aussi une habitude.

je suis en train de me battre avec mon habitude des " dedans smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#13 Le 25/05/2020, à 20:14

Watael

Re : Supprimer une list

oui, ça colle un peu au début. Et puis quand tu crois que c'est parti, ça revient, par surprise.

mais, comme j'ai dit, si on n'utilise pas les fonctionnalités avancées (ce qui n'inclut pas la "facultativité" des guillemets) des double-crochets, alors autant rester sur test.
à test simple, simple test. smile


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#14 Le 25/05/2020, à 21:49

Hizoka

Re : Supprimer une list

Pour le coup, je ne trouve pas que test apporte grand chose, il est très très légèrement plus lent et j’aime bien quand le coté habituel et puissant des crochets.
C'est mon côté psychorigide smile

0,080 s

time for ((x=1; x<10000; x++)); do [[ -e "caca" ]]; done

0.098 s

time for ((x=1; x<10000; x++)); do test -e "caca"; done

Si ça ne fait pas gagner de temps, autant utiliser le système le plus poussé et puissant afin de le maîtriser au mieux non ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#15 Le 25/05/2020, à 22:28

Watael

Re : Supprimer une list

hors du contexte actuel, je verrai d'un bon œil [[ -f $fichier && $fichier == *pdf ]]
mais, je ne me vois pas mettre en œuvre des outils dont je n'utilise pas le plein potentiel.

un marteau* pour planter un clou.
mais, si je sais que je vais en planter plusieurs ET que certains seront provisoires, je prends un "marteau de charpentier".

--
* même si il est au fond de la boîte à outils

Dernière modification par Watael (Le 25/05/2020, à 22:29)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne