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/ -f3
dans 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