Sto usando PWD per ottenere la directory di lavoro attuale. Esiste un SED o un'espressione regolare che posso usare, ad esempio, per ottenere il percorso completo di due genitori?bash script regex per ottenere il percorso della directory fino all'ennesimo livello
risposta
Perché sed o regex? Perché non dirname
:
parent=`dirname $PWD`
grandparent=`dirname $parent`
Edit:
@Daentyh sottolinea nei commenti che a quanto pare $()
è preferito rispetto apici ``
per la sostituzione di comando in gusci POSIX-compliant. Non ho esperienza con loro. Per saperne di più:
http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03
Quindi, se questo vale per la shell, si può (dovrebbe?) Utilizzare:
parent=$(dirname $PWD)
grandparent=$(dirname $parent)
perché non utilizzare
"${PWD}/../.."
?
Questo dovrebbe funzionare in gusci di POSIX:
echo ${PWD%/*/*}
che vi darà un percorso assoluto piuttosto che un parente uno.
Questa dovrebbe essere la risposta. Questo è più riutilizzabile della risposta accettata. – melvynkim
Non sed o regex, ma questo non faccia la quantità genitore arbitraria:
$ cd $(mktemp -dp $(mktemp -dp $(mktemp -dp $(mktemp -d)))) && \
> n=3 && \
> readlink -f ${PWD}/$(for i in $(seq ${n}); do echo -n '../' ; done)
/tmp/tmp.epGcUeLV9q
In questo esempio, cd
in una directory temporanea 5-profondo, assegnare n=3
, costruire un percorso relativo n
livelli dal ${PWD}
e -f, --canonicalize
il risultato con readlink
.
- 1. Determinare il percorso dello script BASH esecuzione
- 2. BASH Script per effettuare il cd nella directory con gli spazi nel percorso
- 3. Ottenere il nome della directory del genitore eseguendo il piping dei risultati di nomedir a basename in uno script Bash
- 4. Come ottenere il percorso della directory usando JFileChooser?
- 5. Come ottenere il percorso della directory di esecuzione in java
- 6. Come decomprimere in una directory specifica senza ricreare tutto il percorso con script bash
- 7. Bash: come posso spostare tutto il contenuto della cartella fino a un livello?
- 8. ottenere lo script bash per echo il comando in esecuzione
- 9. Ottenere il genitore di una directory in Bash
- 10. Ottieni il percorso per lo script Swift dallo script
- 11. Manipolazione del percorso della directory in Delfi?
- 12. Variabile per il percorso della directory bin WiX?
- 13. Come ottenere il percorso di script in R?
- 14. Script di Bash per scp il più nuovo file in una directory su un server remoto
- 15. Come scrivere il percorso per salire di un livello e poi giù in un'altra directory
- 16. come ottenere il percorso assoluto della directory di lavoro corrente da irb
- 17. Come attendere nello script bash fino al completamento della creazione dell'istanza AWS
- 18. Ottieni il nome della directory dal percorso completo della directory indipendentemente dalla barra finale
- 19. Espressione regolare in Bash Script
- 20. Recupera directory principale di script
- 21. Script Bash per ottenere tutti gli indirizzi IP
- 22. Come ottenere directory virtuale percorso fisico
- 23. Query SQL per ottenere il percorso completo della gerarchia
- 24. Come ottenere il percorso della cartella per l'applicazione ClickOnce
- 25. Trova file per nome nella struttura della directory, utilizzando bash
- 26. script bash per modificare file xml
- 27. Bash Script loop attraverso l'uscita della shell
- 28. Come ottenere il componente percorso/directory da un NSURL?
- 29. script Bash e questione
- 30. Script Bash/Expect per SSH
Grazie, ha funzionato! – Steve
Dovresti usare '$()' su '\' \ '' dato che ha specificato bash. – Daenyth
@Daenyth - vero, stavo davvero pensando di suggerire di ricontestualizzare la domanda (o permettermi di ridisegnarla) su 'sh' o' shell-scripting' dato che la domanda non era specifica di 'bash'. @ Steve - cosa ne pensi? –