J'ai un fichier ASCII contenant des chemins de fichiers que je lis en exécutant:
while read p; do echo $p; done < filelist.txt
Le fichier contient des chemins de fichier avec le modèle suivant:
./first/example1/path
./second/example1/path
./third/example2/path
Comment puis-je obtenir une partie spécifique de la chaîne de chemin (de /à /), par exemple, j'ai besoin d'obtenir une sortie qui affiche:
first
second
third
et aussi
example1
example1
example2
Je suis sûr qu'il existe un moyen de le faire en utilisant des expressions régulières et sed, mais je ne le connais pas.
| cut -d/ -f3dans une pipe a fait l'affaire. Merci! C'est la commande complète maintenant:while read p; do echo $p; done < filelist.txt | cut -d/ -f3