Описание тега ios
Как я снова нуждался в этом, я собрал скрипт на Perl, который делает это; это оказалось довольно сложным, поэтому я освободила его здесь:
Что она делает, заключается в том, что он анализирует выход из дерева
, но в отличие от ОП, например, для этого также нужна --dirsfirst
вариант. Чтобы избежать вспоминая все это, revrs-tree.pl
можно использовать сначала как это:
на Perl revrs-tree.pl --getdir в /usr/включать/повышение/аккумуляторы тест/ >.дерево
... который будет просто назвать дерево
с правильными параметрами, которая выводит в stdout - мы фиксируем, что в файле теста.дерево
.
Затем, мы называем один и тот же сценарий на этот тест.дерево
содержания; но хитрость заключается в том, что выход находится не в директории/файлы сами - но линии в Баш
скрипте вместо этого напечатано в stdout. Вызов выглядит так:
на Perl revrs-tree.pl -проверить флажок.дерево > test-tree.sh
# кроме того, можно получать текстовые дерево из stdin:
тест Кот.дерево | Перл revrs-tree.pl --если > test-tree.sh
... и test-tree.sh
содержит такие вещи, как:
РТД="в/usr/включать/повышение/аккумуляторы";
читать -п "предупреждение! будет выводить в каталоге$РТД'!
Нажмите клавишу [Enter], чтобы начать выход...";
если [ ! -д "$РТД" ] ; затем команды mkdir "$РТД" ; интернет ;
TDIR="$РТД/базы";
команды mkdir "$TDIR"; судо Чаун корня:корень "$TDIR"; судо команду chmod 755 "$TDIR"; сенсорный судо-д 'июля 16 2014 9:43:00' "$TDIR";
TDIR="$РТД/рамки/аккумуляторы";
команды mkdir "$TDIR"; судо Чаун корня:корень "$TDIR"; судо команду chmod 755 "$TDIR"; сенсорный судо-д 'июля 16 2014 9:43:00' "$TDIR";
Tfil все="$РТД/рамки/аккумуляторы/droppable_accumulator.ГЭС";
кошка /dev/нуль | глава-Байт 9740 > "$tfil все";
штрих -д'октября 21 2010 0:00:00' "$tfil все"; судо Чаун корневой: "$tfil все"; судо команду chmod 644 "$tfil все";
...
Хитрость здесь:
- Помните, чтобы изменить
РТД
перед запуском сценария - я не раз, и удалось перезаписатьфайл/usr/включать/повышение/аккумуляторов
с нулевым заполненные файлы! (который потом требуетсясудо apt-получить удалить --продувка libboost1.42-Дэв && судо apt-получить установку libboost1.42-Дев
для меня) !!! (поэтому скрипт будет ждать в начале для пользовательского ввода) ... скажем, вот вы не изменили его вкаталог/tmp/Ќова € цель
. дерево
не дает полной метки - так время обычно устанавливаются в 0дерево
также усекает по UID/GID в некоторых 7 или 8 символов - так что если у вас больше, чем те, осмотрите.Ш.
скрипт, и заменить в случае необходимости.
Затем, потому что это было ОП пример был корень
принадлежит каталог .Ш.
сценарий содержит суда
в соответствующих местах, так что вы могли бы также назвать его как супер пользователя:
судо Баш test-tree.sh
После долгих комплект -х
распечаток, скрипт должен завершить; затем вы можете проверить, является ли каталог/файл структура дерева перестраивается правильно, скажем, дифф
- или сливаются
:
мелдинг <(дерево -spugD в /tmp/Ќова € цель/) <(дерево -spugD в /usr/включать/повышение/аккумуляторы/)
Это дает мне никакой разницы в дереве
вывода (в данном примере), кроме корневого каталога.