I am writing a script which reads a file line by line and then assigns it to a variable like this 1090373422_4028715212.jpg. I have images with file name of this format in some other directory. In my script I want to assign variable with this file name and then find this filename in some other directory and delete it.
How do find file in directory or subdirectory ????
Maybe You could try something like this. I am sure there are more efficient ways to do it, especially when there are lots of files and deep structures. But it can give You an idea of how it can be done. This works in Bash. Probably in most other shells as well.
Let's say You have a file with a list of names:
With the command line below You let the operation "while read" (the < listofnames.txt at the end means that that's where the input comes from) take each line, and use it as an argument to the program find.
When the program find finds it in or below ~(the ~ means Your home directory, replace it with something else, /share/pics or whatever), You use that result and pass it as an argument to the program xargs, which then performs an operation on it.
In this case I use ls (list or dir) since it is non-destructive, just to try it out and it will give me a confirmation of which files will be affected. I can replace it with rm when I think I am certain that it will work.
Well, if he hasn't fallen asleep... or cursed his lack of taking hourly backups...
-exec would be better than how I used xargs in my example. I was thinking of the possibility of long "lists" in the result but it wouldn't apply to how I wrote it. But I think the OP wants to treat a list of of items given, so maybe:
would be better? Using rm -rf would delete all files (and directories) matching the pattern given in the constant string (DON'T RUN THAT COMMAND!) and I don't think that is what he wanted.
yep. if its a list, that would better suit his query. I've also edited the previous post because I noticed it was kinda dangerous for beginners... sorry about that.
When doing bulk removes, I do it in stages: generate the list, examine, then do the remove. Then I can check that I'm aiming for the correct foot One Last Time(tm) before shooting.
In the case above where the user wants to transform the file names before removing, sed is your friend. Using the ':' character instead of the traditional '/' for the 's' command allows me to avoid tiresome escaping in the sed command.
I used rm * and it deleted the files in the directory but gives and error message for unsuccessful subdirectory deletion.
"rm: cannot remove 'DirectoryName': Is a directory"
I dont want to explicitly get the above error.
What are the modifications I have to do in the rm command? (3 Replies)
I want to list files that end with .c in the direct subdirectory of the current directory. I have tried the following command:
find ./ -mindepth 2 -maxdepth 2 -name "*.c"
Is that right? Or is there any easier way to handle that problem?
Another problem is that I want to grep in a file to find... (5 Replies)
accidentally i have changed ownership of a directory,subdirectory and files wil below command. I want to the change ownership back as same as in same directory on another server. How can i do it?
chown -R user:group /u01
is there any simple script? it is really an urgent need.. (2 Replies)
Display the number of files in a directory and recursively in each subdirectory
To look something like below, for example
/var 35
/var/tmp 56
/var/adm 46Any ideas how can we do this?
Got a sun cluser global mount point which takes ages to mount everytime, need to understand... (5 Replies)
Display the number of files in a directory and recursively in each subdirectory
To look something like below, for example
/var 35
/var/tmp 56
/var/adm 46
Any ideas how can we do this? :wall: (1 Reply)
Hi Everyone!
Looking for some help with a script that will take all files in any given root folder (which are not already in a folder) and put them into separate folders with the name of each given file.
Any ideas?
Thank you! (1 Reply)
I am trying to find all DAT files in a subdirectory named IN. I do not know the entire path.
For example: /stage/<?>/<?>/IN/file.DAT
I am using the find command without success:
find /stage -name IN -a -name '*.DAT' -print
What is the correct logic and syntax? Thank you for the help. (5 Replies)
Suppose i have a word "mail".
I have to search this word in all files inside a directory and it's sub-directories.
It will also search in all hidden directory and sub-directories.
If it finds this word in any file it will list that file.
How can i do this with perl/ruby/awk/sed/bash or... (9 Replies)
I'm trying to organize my MB Pro by moving all my jpeg files to a single folder from the desktop. There are some on the desktop that are not in any folder. I was at the command line and typed
mv *.jpg "Jpeg files"
but it only moved the files that were on the desktop, not any of the ones that... (3 Replies)
Hi All,
I'm trying to use the find command to return matches for a directory and file.
For example, given the following directories:
/one/two/three/file1.txt
/one/three/two/file1.txt
/one/four/two/three/file1.txt
I'm expecting the following to be returned:
... (16 Replies)