As the title says, I just started with linux mint and am falling in love with bash scripts 😍 Actually I’m not sure if it’s considered a script, but I want to delete the last 2 files in all subfolders in a folder. So far I’ve (after great effort) got the terminal to list the files, but I want to delete them. Here is how I get them listed:

for f in *; do ls $f | tail -n 2; done

All their names come satisfyingly up in the terminal. Now what? I tried adding | xargs rm but that didn’t delete them. I also tried something with find command but that didn’t work either. Some folders have 3 items, so I want to delete #2 and 3. Some folders have 15 items so I want to delete #14 and 15. Folders are arranged by name, so it’s always the last 2 that I want to delete.

It’s frustrating to be sooooo clooooose, but also very fun. Any help is appreciated!

  • calm.like.a.bomb@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    yes. that’s what I suggested… the question mark was there to ask you if you tried that :-D I’m at work, pretty busy :-D I hope you read the rm manual.

    -r means recursive
    -f means force, which will delete the files/directories without interaction

    • skaarl@feddit.nlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      36 minutes ago

      Oh I see, lol. Now I’m getting “Cannot remove: No such file or directory” all the way down! The files are there, I see them, they come up in the terminal, but for some reason xargs rm does not want to delete them. When I put the -f flag, rm doesn’t give an error but the files are still there! wtf