Bash - Redondance dans un fichier
Résolu/Fermé
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
-
8 nov. 2011 à 17:45
Remad Messages postés 1662 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 juillet 2012 - 8 nov. 2011 à 21:31
Remad Messages postés 1662 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 juillet 2012 - 8 nov. 2011 à 21:31
A voir également:
- Bash - Redondance dans un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
3 réponses
koma_666
Messages postés
429
Date d'inscription
mardi 26 juin 2007
Statut
Membre
Dernière intervention
9 mai 2016
34
8 nov. 2011 à 17:50
8 nov. 2011 à 17:50
en changeant le flux de redirection peut être ?
un simple au lieu d'un double.
mv -iv $* > $HOME/backup/.backup
au lieu de
mv -iv $* >> $HOME/backup/.backup
un simple au lieu d'un double.
mv -iv $* > $HOME/backup/.backup
au lieu de
mv -iv $* >> $HOME/backup/.backup
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
8 nov. 2011 à 18:00
8 nov. 2011 à 18:00
Salut,
Comment faire en bash pour supprimer les lignes redondantes dans un fichier?
;-))
Comment faire en bash pour supprimer les lignes redondantes dans un fichier?
sort -u fichier_redondant > fichier_épuré
;-))
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
697
8 nov. 2011 à 18:23
8 nov. 2011 à 18:23
J'essaye sa dans 2h quand je suis en TP! Merci!
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
697
Modifié par Remad le 8/11/2011 à 21:02
Modifié par Remad le 8/11/2011 à 21:02
Sa fonctionne! maintenant j'ai un nouveau soucis avec la commande mv:
Quand je lance la commande
Elle execute la fonction
mais elle insrit dans le fichier $HOME/backup/.backup ceci:
'blah.txt' -> '/home8/p09267388/backup/blah.txt'
'/home8/p09267388/ablah.txt' -> '/home8/p09267388/backup/ablah.txt'
comment faire pour qu'elle inscrive ceci?
'/home8/p09267388/blah.txt' -> '/home8/p09267388/backup/blah.txt'
'/home8/p09267388/ablah.txt' -> '/home8/p09267388/backup/ablah.txt'
Quand je lance la commande
bash ./MSc/Bash/backup ablah.txt blah.txt
Elle execute la fonction
mv -iv $PWD/$* $HOME/backup/ >> $HOME/backup/.backup
mais elle insrit dans le fichier $HOME/backup/.backup ceci:
'blah.txt' -> '/home8/p09267388/backup/blah.txt'
'/home8/p09267388/ablah.txt' -> '/home8/p09267388/backup/ablah.txt'
comment faire pour qu'elle inscrive ceci?
'/home8/p09267388/blah.txt' -> '/home8/p09267388/backup/blah.txt'
'/home8/p09267388/ablah.txt' -> '/home8/p09267388/backup/ablah.txt'
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
697
8 nov. 2011 à 21:17
8 nov. 2011 à 21:17
c'est bon j'utilise
for ARG in "$@" do if mv -iv $PWD/$ARG $HOME/backup/ >> $HOME/backup/.backup then sort -u $HOME/backup/.backup > $HOME/backup/.backupTemp mv $HOME/backup/.backupTemp $HOME/backup/.backup fi done
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
697
Modifié par Remad le 8/11/2011 à 21:33
Modifié par Remad le 8/11/2011 à 21:33
Voyez-vous une optimisation possible dans mon code?
#!/bin/bash #Pierre cybard - p09267388 if [ -d $HOME/backup ] #test if a backup directory exists then if [ $# -eq 0 ] #if no parameters then echo -n "No parameters given. Do you want to backup the current folder? Y/N: " read answer if [ $answer == "Y" ] || [ $answer == "y" ] || [ $answer == "Yes" ] || [ $answer == "YES" ] || [ $answer == "yes" ] #Yes = backup the current folder / other = do nothing then chmod -R 700 $HOME/backup #restore the write permission on the folder mv -iv $PWD/ $HOME/backup/ >> $HOME/backup/.backup #move the current folder, add a line on the .backup file sort -u $HOME/backup/.backup > $HOME/backup/.backupTemp #sorting by name, avoiding redundancy, on a temporary file mv $HOME/backup/.backupTemp $HOME/backup/.backup #move the temporary file to the .backup file chmod -R 500 $HOME/backup #restore the limited permissions fi else #if parameters chmod -R 700 $HOME/backup #restore the write permission on the folder for ARG in "$@" #for every parameters do mv -iv $PWD/$ARG $HOME/backup/ >> $HOME/backup/.backup #move the file/folder and add a line on the .backup file done sort -u $HOME/backup/.backup > $HOME/backup/.backupTemp #sorting by name, avoiding redundancy, on a temporary file mv $HOME/backup/.backupTemp $HOME/backup/.backup #move the temporary file to the .backup file chmod -R 500 $HOME/backup #restore the limited permissions fi else #if backup directory do not exists echo "The backup folder do not exist. Please use the initialise function." fi
8 nov. 2011 à 18:21