Biorąc ścieżkę takiego test/90_2a5/WindowsPierwsze nazwę katalogu nadrzędnego poprzez rurociągi wyniki dirname do basename w skrypcie bash
staram się uzyskać wynik 90_2a5 pomocą poleceń dirname
do uzyskać ścieżkę i po basename
, aby uzyskać nazwę.
Problem występuje, gdy próbuję zrobić to w pojedynczej linii, próbując potokować wyniki z dirname
do basename
.
Próbowałem tego, ale wydaje się, że używam go w niewłaściwy sposób.
path="test/90_2a5/Windows"
finalName= basename var | dirname $path
echo "$finalName"
Problemem jest to, że finalName jest pusty ciąg znaków, co oznacza, że wyniki nie są dirname
przekierowanie.
Świetna odpowiedź! Dziękuję bardzo! – stratis
Możesz również wykonać polecenie 'echo foo/bar | xargs basename'. Użycie 'xargs' sprawia, że system przyjmuje strumień. – jeffreyveon
@jeffreyveon Nie, 'xargs' przekształca standardowe wejście na * listę parametrów * dla' basename'. – l0b0