Potrzebuję pomocy .....BASH - Tylko drukowanie najgłębszego katalogu w ścieżce
W moim pliku .bashrc Mam bardzo przydatnych funkcji (może być nieco szorstki i gotowy, a nieco hacky , ale działa jak leczy!), który odczytuje plik wejściowy i używa funkcji "drzewo" na każdej z linii wejściowych do utworzenia drzewa katalogów. to drzewo jest następnie drukowane do pliku wyjściowego (wraz z rozmiarem folderu).
multitree()
{
while read cheese
do
pushd . > /dev/null
pushd $cheese > /dev/null
echo -e "$cheese \n\n" >> ~/Desktop/$2.txt
tree -idf . >> ~/Desktop/$2.txt
echo -e "\n\n\n" >> ~/Desktop/$2.txt
du -sh --si >> ~/Desktop/$2.txt
echo -e "\n\n\n\n\n\n\n" >> ~/Desktop/$2.txt
popd > /dev/null
done < $1
cat ~/done
}
to oszczędność czasu jak bez końca, a na wyjściu fragment jak następuje:
./foo
./foo/bar
./foo/bar/1
./foo/bar/1/2
itd itp ....
jednak pierwszym (i najbardziej uciążliwe) rzeczą, którą muszę zrobić, to usunąć wszystkie wpisy pozostawiając tylko najgłębszą ścieżkę folderu (przy użyciu powyższego przykładu zostanie ona zredukowana do just ./foo/bar/1/2)
Czy istnieje sposób przetwarzania pliku wcześniej/po drzewie funkcja drukowania tylko najgłębszych poziomów?
Wiem, że coś w stylu Pythona może zrobić lepszą robotę, ale moim problemem jest to, że nigdy nie użyłem Pythona I nie jestem pewien, czy systemy robocze pozwoliłyby mi uruchomić pythona ... pozwalają nam modyfikować nasze własne .bashrc więc nie martwię się zbytnio!
Z góry dzięki chłopaki !!!!
Owen.
Być może będziesz musiał mi to wytłumaczyć ....... spojrzałem na stronę Znajdź, ale to nie pomogło mi zrozumieć, co masz na myśli ... –
Edytowałem trochę. Jednak nie ma wiele do wyjaśnienia. – Wintermute
'znaleźć. -linki 2' nie wystarczą. Spróbuj po 'touch ./abcd; ln ./abcd./pqrs' Uwaga: 'ln', nie' ln -s' ... Ale +1 dla tej informacji :-) – anishsane