11-01-2007
Prompting for file deletion?
I got help in another forum but now I need further help so I figured I'd ask here. I had to write a script to delete certain filenames of certain size. I got this far..
find . -size 110c -name "*testing*" -print | xargs -n 1 rm -i
It finds the correct files, but the prompts to delete are all bunched up on one line. looks like:
rm: Remove ./file.testing.2007? rm: Remove ./file.testing2.2007(flashing prompt and when I enter y or n I get "ksh: y: not found")
Can someone show me how to individually prompt for file removal after it finds what I'm looking for in the directory?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
In a shell script I am makin use of 3 files f1,f2 and f3.txt.
When the Unix server is restarted I want to delete all these 3
files if they are existing.
( I suppose I will have to use this command
rm /thefilepath/f*
but dont know in which script to use.)
Anyone knows what can be... (6 Replies)
Discussion started by: k_oops9
6 Replies
2. UNIX for Dummies Questions & Answers
Hi there guys. I'm quite new in using unix and just recently experienced missing file problem. Someone accidentally or likely intentionally deleted one specific folders that contains important file. Now my question is, can any other user aside from root can do such action? Please help. ... (2 Replies)
Discussion started by: rhomel101
2 Replies
3. UNIX for Dummies Questions & Answers
OS: Solaris 8
I deleted a large file (around 13 Gigs) from my system.
But the output of df -k remains the same. The
capacity % is constant. However one strange thing
is happening- My available space is decreasing, my used
space in increasing (The opposite should happen).
This is happening... (2 Replies)
Discussion started by: run_time_error
2 Replies
4. UNIX for Dummies Questions & Answers
I am using unix via telnet ssh and i have a problem
I was testing the server.
I made a directory.
Transfered a file from an ftp to it.
Opened the file with the vi text editor
--This where my problem came.....
I tried deleting the file using rm somefile.htm
when is typed ls i noticed that... (2 Replies)
Discussion started by: shdwsclan
2 Replies
5. Programming
How do I write a C program that will watch a directory for file creation/deletion? Maybe it would receive a signal when someone creates a file?
thanks,
Siegfried (5 Replies)
Discussion started by: siegfried
5 Replies
6. Shell Programming and Scripting
Hi Everyone,
Please help me with this. I have gone through many posts here but couldn't find what I wanted.
I have a file with 79000+ lines and I want to delete lines in a pattern.
I want to delete every 141st line in the file, starting from line 2000 till 50000.
Please help guys.
... (8 Replies)
Discussion started by: max29583
8 Replies
7. Shell Programming and Scripting
I saw many post about this but could not find a specific answer to this question.
i have the following code
find . -depth -name "$FILEEXT" -ctime -30 -exec rm {} \;
when i type ./deletefiles.sh *.txt for example, it will find all the txt files less than 30 days old and delete them.
my... (9 Replies)
Discussion started by: new2learn09
9 Replies
8. Shell Programming and Scripting
I looked into the sticky bit, but I think, if possible, that I would prefer to have the file recreate itself after deletion. The file is several directories deep, and from time to time the top level directory will be trashed. I need the file to recreate after this. Is it possible to perhaps... (13 Replies)
Discussion started by: glev2005
13 Replies
9. Shell Programming and Scripting
Hi Everyone,
There are certain files under a folder 'ABC' and the entries for these files are there in another file(fname) under a different folder 'XYZ'. I want to compare the folder contents(ABC) with
the file(fname) contents and delete the mismatching / non-existing ones from the file,... (4 Replies)
Discussion started by: swasid
4 Replies
10. Shell Programming and Scripting
I have 63,000 files in a directory
I want to move all the 20100219 day files to /target directory
I used
$mv *20100219* /target
too many arguments
Then i used
$find . -name "*.txt"|grep "20100221"|xargs -I '{}' mv {} /target
It will take more than 3 hours to move all the files
... (4 Replies)
Discussion started by: pritish.sas
4 Replies
LEARN ABOUT DEBIAN
shell-quote
SHELL-QUOTE(1p) User Contributed Perl Documentation SHELL-QUOTE(1p)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)