Comment obtenir un deuxième nom de répertoire dans le chemin du fichier perforce?

0

Je dois obtenir le répertoire dans la deuxième colonne après le dépôt. Par exemple, étant donné la liste des fichiers ci-dessous, j'ai besoin de "Répertoire2" comme sortie.

//depot/Directory2/Dir3/Dir4/Dir5/Dir6/Filename1

//depot/Directory2/Dir3/Dir4/Dir5/Dir6/Filename2
Shankar Narayanan
la source
2
cut -d / -f 4
Stéphane Chazelas

Réponses:

3
awk -F / '{ print $4; }'

vous donnera la deuxième entrée dans le chemin. C'est la quatrième quand elle est analysée: la première est la chaîne vide avant la première /, la seconde est la chaîne vide entre les deux /et la troisième est depot.

Stephen Kitt
la source
Je veux la même chose mais dans l'ordre inverse. Donc, dans cet exemple, le 3ème répertoire à partir de la droite (donc pas Dir6, Dir5) mais Dir4. Comment faire ça .. ??
danger89
1
@ danger89, vous devriez poser une nouvelle question plutôt que de vous adosser à une question légèrement liée.
Stephen Kitt
Cela pourrait bien être, ou les gens finiront également ici puisque cette réponse est déjà bien indexée par les moteurs de recherche, et que les gens trouvent directement la réponse par ordre inverse.
danger89
1

En sedsupposant que vous ayez les lignes dans le fichier input.txt:

sed 's|.*depot/\([^/]*\)/.*|\1|' input.txt
Anthon
la source
0

Utiliser grep:

grep -Po 'depot/\K[^/]*'
JJoao
la source