Delete empty subfolders, keep parent folderHelp with rsync excludes not workingDelete certain filetypes and empty folders within a folder and subfoldersUnderstanding rm commandRename files in subfolders with parent folder namesShould one call this an inverse differential backup and how does one achieve it?Writing an alias that puts a folder and its subfolders/files into an encrypted archive titled with the dateScript for “extracting” subfolders into parent folderDelete the parent directory (non-empty) if a specific child directory is emptyDelete old backup folders from directory using cronrsync back error 23 on Thunderbird file

Is it better to use mosfet with gate driver IC or mosfet with lower VGs on

Beauville-Laszlo for schemes

What does the "capacitor into resistance" symbol mean?

How to generate short fixed length cryptographic hashes?

How do we know that black holes are spinning?

Why are two-stroke engines nearly unheard of in aviation?

Output Distinct Factor Cuboids

Wrong Schengen Visa exit stamp on my passport, who can I complain to?

What did the first ever Hunger Games look like?

Python web-scraper to download table of transistor counts from Wikipedia

How to ensure that neurotic or annoying characters don't get tiring on the long run

Is it appropriate to CC a lot of people on an email?

Floating Point XOR

Other than good shoes and a stick, what are some ways to preserve your knees on long hikes?

How would you translate Evangelii Nuntiandi?

Who are the people reviewing far more papers than they're submitting for review?

Test to know when to use GLM over Linear Regression?

Why does '/' contain '..'?

The role of Lorentz tranformations

Why is the year in this ISO timestamp not 2019?

How to give my students a straightedge instead of a ruler

Why is it called a stateful and a stateless firewall?

What are the typical trumpet parts in classical music?

Did Sauron ever betray Morgoth?



Delete empty subfolders, keep parent folder


Help with rsync excludes not workingDelete certain filetypes and empty folders within a folder and subfoldersUnderstanding rm commandRename files in subfolders with parent folder namesShould one call this an inverse differential backup and how does one achieve it?Writing an alias that puts a folder and its subfolders/files into an encrypted archive titled with the dateScript for “extracting” subfolders into parent folderDelete the parent directory (non-empty) if a specific child directory is emptyDelete old backup folders from directory using cronrsync back error 23 on Thunderbird file






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















When I use



find /home/user/parentdir -type d -empty -delete


it looks recursively for empty subfolders inside /home/user/parentdir and deletes. But if /home/user/parentdir is also empty, it deletes the parent folder, which is undesirable for me.



I keep this parentdir to rsync some files to backup or cloud, after process I need to delete empty folders, but seems unproductive to recreate it every time.



Any suggestions to keep parentdir? I thought about creating a ".nocopy" file inside parentdir and exclude it from rsync, but looks like overkill. There is a more elegant way?










share|improve this question
























  • if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

    – Graham
    9 hours ago






  • 2





    -mindepth 1 ?

    – steeldriver
    9 hours ago











  • @Graham /parentdir/ deletes parentdir too, so makes no difference.

    – TNT
    9 hours ago











  • ah, I see I missed the * at the end which @Amourk mentions in his answer.

    – Graham
    8 hours ago

















2















When I use



find /home/user/parentdir -type d -empty -delete


it looks recursively for empty subfolders inside /home/user/parentdir and deletes. But if /home/user/parentdir is also empty, it deletes the parent folder, which is undesirable for me.



I keep this parentdir to rsync some files to backup or cloud, after process I need to delete empty folders, but seems unproductive to recreate it every time.



Any suggestions to keep parentdir? I thought about creating a ".nocopy" file inside parentdir and exclude it from rsync, but looks like overkill. There is a more elegant way?










share|improve this question
























  • if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

    – Graham
    9 hours ago






  • 2





    -mindepth 1 ?

    – steeldriver
    9 hours ago











  • @Graham /parentdir/ deletes parentdir too, so makes no difference.

    – TNT
    9 hours ago











  • ah, I see I missed the * at the end which @Amourk mentions in his answer.

    – Graham
    8 hours ago













2












2








2








When I use



find /home/user/parentdir -type d -empty -delete


it looks recursively for empty subfolders inside /home/user/parentdir and deletes. But if /home/user/parentdir is also empty, it deletes the parent folder, which is undesirable for me.



I keep this parentdir to rsync some files to backup or cloud, after process I need to delete empty folders, but seems unproductive to recreate it every time.



Any suggestions to keep parentdir? I thought about creating a ".nocopy" file inside parentdir and exclude it from rsync, but looks like overkill. There is a more elegant way?










share|improve this question














When I use



find /home/user/parentdir -type d -empty -delete


it looks recursively for empty subfolders inside /home/user/parentdir and deletes. But if /home/user/parentdir is also empty, it deletes the parent folder, which is undesirable for me.



I keep this parentdir to rsync some files to backup or cloud, after process I need to delete empty folders, but seems unproductive to recreate it every time.



Any suggestions to keep parentdir? I thought about creating a ".nocopy" file inside parentdir and exclude it from rsync, but looks like overkill. There is a more elegant way?







command-line bash rsync find






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 10 hours ago









TNTTNT

1134 bronze badges




1134 bronze badges















  • if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

    – Graham
    9 hours ago






  • 2





    -mindepth 1 ?

    – steeldriver
    9 hours ago











  • @Graham /parentdir/ deletes parentdir too, so makes no difference.

    – TNT
    9 hours ago











  • ah, I see I missed the * at the end which @Amourk mentions in his answer.

    – Graham
    8 hours ago

















  • if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

    – Graham
    9 hours ago






  • 2





    -mindepth 1 ?

    – steeldriver
    9 hours ago











  • @Graham /parentdir/ deletes parentdir too, so makes no difference.

    – TNT
    9 hours ago











  • ah, I see I missed the * at the end which @Amourk mentions in his answer.

    – Graham
    8 hours ago
















if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

– Graham
9 hours ago





if you add a forward slash / to the end of /parentdir (ie /parentdir/)does that make a difference?

– Graham
9 hours ago




2




2





-mindepth 1 ?

– steeldriver
9 hours ago





-mindepth 1 ?

– steeldriver
9 hours ago













@Graham /parentdir/ deletes parentdir too, so makes no difference.

– TNT
9 hours ago





@Graham /parentdir/ deletes parentdir too, so makes no difference.

– TNT
9 hours ago













ah, I see I missed the * at the end which @Amourk mentions in his answer.

– Graham
8 hours ago





ah, I see I missed the * at the end which @Amourk mentions in his answer.

– Graham
8 hours ago










1 Answer
1






active

oldest

votes


















5
















By adding /* to the end of parentdir, you are performing the action on all subdirs of parentdir rather than on parentdir itself. And so in the same way /home/user/ is not deleted in the old command, parentdir will not be not be deleted in the command below.
* is called a glob operator and it matches any string of characters.



find /home/user/parentdir/* -type d -empty -delete






share|improve this answer

























  • One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

    – steeldriver
    5 hours ago











  • Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

    – Glenn Willen
    1 hour ago













Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "89"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);














draft saved

draft discarded
















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1174332%2fdelete-empty-subfolders-keep-parent-folder%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5
















By adding /* to the end of parentdir, you are performing the action on all subdirs of parentdir rather than on parentdir itself. And so in the same way /home/user/ is not deleted in the old command, parentdir will not be not be deleted in the command below.
* is called a glob operator and it matches any string of characters.



find /home/user/parentdir/* -type d -empty -delete






share|improve this answer

























  • One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

    – steeldriver
    5 hours ago











  • Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

    – Glenn Willen
    1 hour ago















5
















By adding /* to the end of parentdir, you are performing the action on all subdirs of parentdir rather than on parentdir itself. And so in the same way /home/user/ is not deleted in the old command, parentdir will not be not be deleted in the command below.
* is called a glob operator and it matches any string of characters.



find /home/user/parentdir/* -type d -empty -delete






share|improve this answer

























  • One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

    – steeldriver
    5 hours ago











  • Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

    – Glenn Willen
    1 hour ago













5














5










5









By adding /* to the end of parentdir, you are performing the action on all subdirs of parentdir rather than on parentdir itself. And so in the same way /home/user/ is not deleted in the old command, parentdir will not be not be deleted in the command below.
* is called a glob operator and it matches any string of characters.



find /home/user/parentdir/* -type d -empty -delete






share|improve this answer













By adding /* to the end of parentdir, you are performing the action on all subdirs of parentdir rather than on parentdir itself. And so in the same way /home/user/ is not deleted in the old command, parentdir will not be not be deleted in the command below.
* is called a glob operator and it matches any string of characters.



find /home/user/parentdir/* -type d -empty -delete







share|improve this answer












share|improve this answer



share|improve this answer










answered 9 hours ago









AmourKAmourK

1388 bronze badges




1388 bronze badges















  • One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

    – steeldriver
    5 hours ago











  • Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

    – Glenn Willen
    1 hour ago

















  • One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

    – steeldriver
    5 hours ago











  • Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

    – Glenn Willen
    1 hour ago
















One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

– steeldriver
5 hours ago





One thing to be aware of with this approach is if there is a large number of files in /home/user/parentdir/, the expanded glob may exceed ARG_MAX, resulting in an argument list too long error. You could reduce the chance of that happening by changing the glob to */ so that it matches directories only.

– steeldriver
5 hours ago













Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

– Glenn Willen
1 hour ago





Also beware that this will not find any children starting with a dot. And someday you will realize this, and if you also do a find for ".*" you will be in a huge world of hurt (because ".*" matches ".."). Ask me how I know.

– Glenn Willen
1 hour ago


















draft saved

draft discarded















































Thanks for contributing an answer to Ask Ubuntu!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1174332%2fdelete-empty-subfolders-keep-parent-folder%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її