#1 Le 11/11/2018, à 20:28
- AEliso19
Traiter fichier texte en bash [RESOLU]
Bonjour ou Bonsoir à tous et toute !
Débutant dans le monde de la programmation je me retrouve confronté à mon 1er obstacle de taille.
Donc voila, je possède un fichier texte qui contient plusieurs lignes, chaque lignes contient deux champs sous la forme NomFichier:Chemin
Grâce à la commande " awk -F ":" '{ $1 = " " ; print $0 }' monfichier.txt | sed -n 1p " j'arrive bien à afficher le 1er champs de la 1ère ligne (et à le récupérer dans une variable par la suite). Idem pour le 2ème champs.
Ce que je souhaiterai faire, je pensais grâce à une boucle while, ce serai de :
1 - Récupérer le champs 1 de la 1ère ligne et le mettre dans une variable
2 - Récupérer le champs 2 de cette même 1ère ligne et le mettre dans une variable
3 - exécuter une commande mv
4 - relancer le script pour la ligne 2...
5 - ...puis pour la ligne 3, etc etc
Des idées ?
Merci d'avance !
Dernière modification par AEliso19 (Le 11/11/2018, à 21:10)
Hors ligne
#2 Le 11/11/2018, à 20:34
- Watael
Re : Traiter fichier texte en bash [RESOLU]
salut,
IFS=':' read chp1 chp2
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 11/11/2018, à 20:38
- pingouinux
Re : Traiter fichier texte en bash [RESOLU]
Bonsoir,
while IFS=":" read v1 v2;do echo mv "$v1" "$v2"; done <monfichier.txt
et enlever le echo si c'est bon.
Hors ligne
#4 Le 11/11/2018, à 21:10
- AEliso19
Re : Traiter fichier texte en bash [RESOLU]
Super pingouinux c'est exactement ce qu'il me fallait ! Grand merci ! Et à toi aussi Watael pour avoir pris le temps de répondre
Hors ligne