Как Plan 9 использует du вместо find?

Как Plan 9 использует du вместо find?

04.08.2019 12:20:22 Просмотров 23 Источник

Гид по переходу с Unix на Plan9 говорит, что команда find в ОС Plan 9, известной своим радикальным упрощением, отсутствует, потому что есть du («disk utility»). Но каким образом она заменяет команду find?

У вопроса есть решение - Посмотреть?

Ответы - Как Plan 9 использует du вместо find? / Как Plan 9 использует du вместо find?

Является ответом!
Ainar-G

04.08.2019 12:20:22

Пример вывода du:

$ du a
4   a/b
8   a
$ du -a a
0   a/b/b.txt
4   a/b
0   a/a.txt
8   a

Второе поле — либо директория, либо файл. Таким образом вывод всех файлов и подкаталогов становится элементарным:

$ du -a a | awk "{ print \$2; }" | sort
a
a/a.txt
a/b
a/b/b.txt

По этому выводу можно делать grep, а также обрабатывать в цикле. Команда нахождения всех файлов без каталогов менее тривиальна: вычесть вывод du из вывода du -a:

$ comm -2 -3 <(du -a a | awk "{ print \$2; }" | sort) <(du a | awk "{ print \$2; }" | sort)
a/a.txt
a/b/b.txt

В реальности подобные сочетания команд помещаются в скрипты. Например, замена cp -r в Plan 9 под названием dircp выглядит так:

#!/bin/rc
# dircp src dest - copy a tree with tar
switch($#*){
case 2
    @{builtin cd $1 && tar cf /fd/1 .} | @{builtin cd $2 && tar xTf /fd/0}
case *
    echo usage: dircp from to >[1=2]
    exit usage
}
https://ru.stackoverflow.com/questions/1009940/%d0%9a%d0%b0%d0%ba-plan-9-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d1%82-du-%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%be-find/1009941#comment1712944_1009941
С такими возможностями туда портируют cygwin как только ос получит хоть какое-то распространение
https://ru.stackoverflow.com/questions/1009940/%d0%9a%d0%b0%d0%ba-plan-9-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d1%82-du-%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%be-find/1009941#comment1712949_1009941
А что мешает собрать в Plan 9 нормальные find, cp и т.д. версии утилит?
https://ru.stackoverflow.com/questions/1009940/%d0%9a%d0%b0%d0%ba-plan-9-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d1%82-du-%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%be-find/1009941#comment1712952_1009941
Удивительно, разве кто-то работает на Plan9?
https://ru.stackoverflow.com/questions/1009940/%d0%9a%d0%b0%d0%ba-plan-9-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d1%82-du-%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%be-find/1009941#comment1713388_1009941
@pepsicoca1 Авторы этой ОС являются и авторами языка го, так что среди его любителей встречаются и любители «Плана».
Закрыть X