Delete all files of a particular name & extension except one file.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete all files of a particular name & extension except one file.
# 1  
Old 11-11-2019
Delete all files of a particular name & extension except one file.

I wish to delete all files that starts with "body<any number of digits>.xml" except body65.xml on Linux 7 bash shell

So, from the below files

Code:
body64.xml
body.sh
body65.xml
body655.xml
body565.xml
body66.xml
hello65.xml

My command should delete all files except the below.

Code:
body.sh
body65.xml
hello65.xml

Below is what i tried but it does not fulfill my requirement.

Code:
ls| grep -v body65.xml | grep 'body*.xml' | xargs -f rm
ls| grep -v body65.xml | grep "body*.xml" | xargs -f rm
ls| grep -v body65.xml | grep 'body..xml' | xargs -f rm
ls| grep -v body65.xml | grep 'body[[:digit::]].xml' | xargs -f rm
ls| grep -v body65.xml | grep 'body.\.xml' | xargs -f rm

Can you please suggest ?
# 2  
Old 11-11-2019
There seems to be a mixup between shell globs and grep / regex patterns. Try grep 'body.*.xml'.


Or, recent bashes provide "extended pattern matching" if the extglob shell option is set:
Code:
shopt -s extglob
echo rm body!(65).xml
rm body565.xml body64.xml body655.xml body66.xml

These 2 Users Gave Thanks to RudiC For This Post:
# 3  
Old 11-12-2019
Quote:
Originally Posted by RudiC
There seems to be a mixup between shell globs and grep / regex patterns. Try grep 'body.*.xml'.


Or, recent bashes provide "extended pattern matching" if the extglob shell option is set:
Code:
shopt -s extglob
echo rm body!(65).xml
rm body565.xml body64.xml body655.xml body66.xml

@RudiC, Thank you for the answer. It worked !!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Copy files based on specific word in a file name & its extension and putting it in required location

Hello All, Since i'm relatively new in shell script need your guidance. I'm copying files manually based on a specific word in a file name and its extension and then moving it into some destination folder. so if filename contains hyr word and it has .md and .db extension; it will move to TUM/HYR... (13 Replies)
Discussion started by: prajaktaraut
13 Replies

2. Shell Programming and Scripting

SFTP Shell Script Get & Delete && Upload & Delete

Hi All, Do you have any sample script, - auto get file from SFTP remote server and delete file in remove server after downloaded. - only download specify filename - auto upload file from local to SFTP remote server and delete local folder file after uploaded - only upload specify filename ... (3 Replies)
Discussion started by: weesiong
3 Replies

3. UNIX for Dummies Questions & Answers

Display the .csv extension files based on .done extension fine

Hi All, I want to fetch the files based on .done file and display the .csv files and Wil take .csv files for processing. 1.I need to display the .done files from the directory. 2.next i need to search for the .Csv files based on .done file.then move .csv files for the one directory ... (2 Replies)
Discussion started by: girija.g6
2 Replies

4. Shell Programming and Scripting

Need Script to ZIP/SAVE & then DELETE Log file & send a mail conformation for any error

ENVIROMENT Linux: RHEL 6.4 Log Path: /usr/iplanet/servers/https-company/logs Log Format: user.log.03-15-2015 I have log4j log rotation enabled rotating files on a daily basis. The rotated logs are NOT compressed & are taking up too much space. I need a script that will run daily that... (1 Reply)
Discussion started by: admin_job_admin
1 Replies

5. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

6. Shell Programming and Scripting

[Solved] Get files & delete them by shell script

I want to use my script to get any file then delete it once it transfers to my side , I manage to create below script to generate "list" file which contains all file names in "10.10.1.1" then I made "a.out" file which contains the commands that I want to run it on "10.10.1.1" to get & delete the... (2 Replies)
Discussion started by: arm
2 Replies

7. Shell Programming and Scripting

Delete all files with specific extension in directory tree

I'm sure this has been asked many times, but a search didn't turn up a definitive best method for this (if there ever is such a thing). I have been using rsync to back up my main data directory, but I have accumulated a large number of older backups that I don't need. All of the files I don't... (14 Replies)
Discussion started by: LMHmedchem
14 Replies

8. Red Hat

Need Script to ZIP/SAVE & then DELETE Log file & DELETE ZIPS older than 12 months

ENVIROMENT Linux: Fedora Core release 1 (Yarrow) iPlanet: iPlanet-WebServer-Enterprise/6.0SP1 Log Path: /usr/iplanet/servers/https-company/logs I have iPlanet log rotation enabled rotating files on a daily basis. The rotated logs are NOT compressed & are taking up too much space. I... (7 Replies)
Discussion started by: zachs
7 Replies

9. UNIX for Dummies Questions & Answers

How do I delete all files except one of a certain extension?

Let's say I wanna Delete all the files of a certain extension exept one. How do I do it? I know, if you wanna delete them all is with the command: find ~/ -type f -iname '*.txt' -exec rm {} ~/ ';' But If I want to keep an Specific file? Let's say I wanna keep 'Log.txt'. How do I do it? (1 Reply)
Discussion started by: lsteamer
1 Replies

10. Shell Programming and Scripting

How to compress & delete files in ksh

Hi, I would like to know how to go about writing a script to compress & deleate old files from /var/mqm/log file system. I am a complete beginner and would love it if someone could actually give me the code for this. Thank you. (4 Replies)
Discussion started by: vkumar
4 Replies
Login or Register to Ask a Question