Вы можете попробовать что-то вроде:
./a.out | gzip -c - > log.gz
и вы можете распаковать его с помощью 7 -zip Но чтобы избежать битого архива, вы должны реализовать таймер в своей программе. Если вы прервете его с помощью Ctrl -C, архив не будет правильно закрыт.
Bash, Globstar активирован (с помощьюshopt -s globstar
).
printf '%s\n' **/zing/*/
Только для последнего компонента пути
for dir in **/zing/*/; do basename "$dir"; done
POSIX Находка.
find. -type d -path '*/zing/*' -prune
-prune
избегает спуска по совпадающим каталогам.
Только для последнего компонента пути
find. -type d -path '*/zing/*' -prune -exec basename {} \;
Вы можете найти все zing каталоги
find. -type d -name zing
и выполните «ls» в каждом, если вам нужно получить содержимое каталога.
Или, возможно, повторить поиск (find \{\} -type d -maxdepth 1 -mindepth 1
), чтобы получить только имена непосредственных дочерних каталогов. Затем вы можете использовать basename
, чтобы получить только имя каталога, или какой-нибудь уродливый хак, например | rev | cut -f1 -d/ | rev
.