Portál AbcLinuxu, 10. května 2025 09:34
ls -U | tac > seznam.txt
ls -pU / | sed -n "/\(.*\)\/$/ s//\1/p" | tac > seznam.txt
ls -r / | grep / > seznam.txt
ls -rF | sed -n 's:/$::p'
ls -rd */.
find / -maxdepth 1 -mindepth 1 -type d | tac >seznam.txt
find
u mne křičí:
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.
Navíc u takto zadaných parametrů find
u mne křičí...
Každýmu z tý hlášky dojde, že má dát -maxdepth 1
před -type d
Nesetříděno pozpátku? To teda nechci vidět jak by to mělo vypadat... IMHO se spíš špatně vyjádřil.K čemu to tazatel potřebuje, to nechme stranou. Buďto to může být vypsáno v pořadí, v jakém byly soubory/adresáře vytvářeny (tak to tazatel chce (ale v opačném pořadí)), nebo podle abecedy (což takto nechce).
#!/usr/bin/python import os dirs = [name for name in os.listdir('.') if os.path.isdir(name)] dirs.reverse() file('seznam.txt', 'w').write('\n'.join(dirs))Zdá se mi trochu divný požadavek, že chci něco nesetříděné a přitom v obráceném pořadí
sed "s: :\n:g" <<< "$(echo */)" | egrep -o "[^/]+" | sort -r > seznam.txtnebo
for dir in */; do echo ${dir%/}; done | tac > seznam.txt(Vtip
1)sed "s: :\n:g" <<< "$(echo */)" | egrep -o "[^/]+" | sort -r > seznam.txt
echo *
vypisuje setříděně (alespoň u mne) a to tazatel nechce (ten sort
na konci to samozř.nezachrání)
2) sed
tady takto nelze použít, alespoň v případě, že soubor (adresář) bude obsahovat mezery
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.