Я делаю файл сборки, и мне нужна ваша помощь, пожалуйста.Как удалить пустые каталоги после tar?
Текущих каталоги/файлы расположены как Подписки
/home/myhome/aaa/bbb/ccc/file1 /home/myhome/aaa/bbb/ccc/ddd/file2 /home/myhome/aaa/bbb/ccc/eee/file3 /home/myhome/aaa/bbb/fff/file4 /home/myhome/aaa/bbb/fff/ggg/file5 /home/myhome/aaa/bbb/fff/hhh/file6 /home/myhome/aaa/bbb/iii/file7 /home/myhome/aaa/bbb/iii/jjj/file8 /home/myhome/aaa/bbb/iii/kkk/file9
Я хочу, чтобы получить целевые файлы из list.txt и связать в один архив.
кошка list.txt/aaa/ /aaa/bbb/ /aaa/bbb/fff/ /aaa/bbb/fff/file4 /aaa/bbb/fff/ggg/ /aaa/bbb/fff/ggg/file5 /aaa/bbb/fff/hhh/ /aaa/bbb/fff/hhh/file6 /aaa/bbb/iii/ /aaa/bbb/iii/file7 /aaa/bbb/iii/jjj/ /aaa/bbb/iii/jjj/file8 /aaa/bbb/iii/kkk/ /aaa/bbb/iii/kkk/file9
Я попытался, как показано ниже.
sed -e '\@/[email protected] d' -e '[email protected]^/@@' list.txt > list2.txt tar -cz -f list.tar.gz -C /home/myhome -T list2.txt --remove-files --same-permissions
И последующие перерабатывающие каталоги/файлы.
(пустые каталоги не были удалены.)/home/myhome/aaa/bbb/ccc/file1 /home/myhome/aaa/bbb/ccc/ddd/file2 /home/myhome/aaa/bbb/ccc/eee/file3 /home/myhome/aaa/bbb/fff/ggg/ /home/myhome/aaa/bbb/fff/hhh/ /home/myhome/aaa/bbb/iii/jjj/ /home/myhome/aaa/bbb/iii/kkk/
Но, это то, что я ожидал.
/home/myhome/aaa/bbb/ccc/file1 /home/myhome/aaa/bbb/ccc/ddd/file2 /home/myhome/aaa/bbb/ccc/eee/file3
Не могли бы вы мне помочь, пожалуйста?
====================
ответ на комментарии
Теперь я попытался изменить list2.txt (с помощью Vim не скрипт), как следующие.
кошка list2.txt aaa/bbb/iii/kkk/file9 aaa/bbb/iii/kkk/ aaa/bbb/iii/jjj/file8 aaa/bbb/iii/jjj/ aaa/bbb/iii/file7 aaa/bbb/iii/ aaa/bbb/fff/hhh/file6 aaa/bbb/fff/hhh/ aaa/bbb/fff/ggg/file5 aaa/bbb/fff/ggg/ aaa/bbb/fff/file4 aaa/bbb/fff/
Это то, что я хочу! Благодарю вас, Этан.
Но я не знаю, как удалить ааа, ааа/ГЭБ от оригинального list.txt.
В этом случае aaa/bbb является общим родительским каталогом, но в некоторых случаях его можно изменить на aaa/bbb/zzz.
Вопрос в том, почему tar не удалил пустые 'fff/ggg',' fff/hhh' и т. Д. Каталоги? –
Спасибо! Я ответил в теле. – myungchul
Я не понимаю обновленный вопрос. Вы хотите удалить каталог '/ aaa/bbb' с диска или из пути в файле? –