Ignore .txt in find script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ignore .txt in find script
# 1  
Old 10-09-2018
Ignore .txt in find script

Hi
i am really new to linux scripting and i need a little bit help.

i have the following script:

Code:
find "/usr/share/nextcloud/data/__groupfolders" -type f -mtime +14 -exec rm {} \;

but i don't want to delete everything. I want to ignore .txt files. How can i do this?
# 2  
Old 10-09-2018
First of all, you should never run a script like this with -exec rm {} until you have tested it without the -exec rm {};

So first, think about:

Code:
find "/usr/share/nextcloud/data/__groupfolders" -type f -mtime +14

and add the necessary arguments to find to ignore all .txt files

Try a few things, and test first and post back what you think is a good way to do it Smilie

Hint: Maybe try to add:

Code:
! -name "*.txt"

# 3  
Old 10-09-2018
Quote:
First of all, you should never run a script like this with -exec rm {} until you have tested it without the -exec rm {};
Yeah the script is running on a productiv Nextcloud in the testing phase i first tryed it with ls and after that i specified a folder in __groupfolders whitch could be deleted without worry of loosing something. The Script works fine like it is. Im going to try everything again with the ls. thx for your help

------ Post updated at 07:16 AM ------

thx man it is working you are top! You safed my day ;D

Code:
find "/usr/share/nextcloud/data/__groupfolders/28" -type f -mtime +14 ! -name "*.txt" -ls

# 4  
Old 10-09-2018
Thanks but you could have easily discovered the ! -name flags for find looking at the man page examples:

https://www.unix.com/man-page/linux/1/find/

Code:
       cd /source-dir
       find . -name .snapshot -prune -o \( \! -name *~ -print0 \)|
       cpio -pmd0 /dest-dir

See also:

https://www.unix.com/man-page/sunos/1/find/

Code:
 The following operands are supported:

       path	       A path name of a starting point in the directory hierarchy.

       expression      The first argument that starts with a -, or is a ! or a (, and all  subsequent  arguments  are
		       interpreted as an expression made up of the following primaries and operators. In the descrip-
		       tions, wherever n is used as a primary argument,  it  is  interpreted  as  a  decimal  integer
		       optionally preceded by a plus (+) or minus (-) sign, as follows:

		       +n	more than n

		       n	exactly n

		       -n	less than n


Code:
  -name pattern   True if pattern matches the current file name. Normal shell file  name  generation  characters
		       (see  sh(1))  can  be used. A backslash (\) is used as an escape character within the pattern.
		       The pattern should be escaped or quoted when find is invoked from the shell.

		       Unless the character '.' is explicitly specified in the beginning     of  pattern,  a  current
		       file   name   beginning	 with	'.'   does   not  match  pattern  when	using  /usr/bin/find.
		       /usr/xpg4/bin/find does not make this distinction; wildcard file  name  generation  characters
		       can match file names beginning with '.'.

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

AIX find ignore directory

I am using aix. I would like to ignore the /u directory. I tried this but it is not working. find / -type f -type d \( -path /u \) -prune -o -name '*rpm*' 2>/dev/null /u/appx/ls.rpm /u/arch/vim.rpm (4 Replies)
Discussion started by: cokedude
4 Replies

2. Shell Programming and Scripting

Script using awk to find and replace a line, how to ignore comment lines

Hello, I have some code that works more or less. This is called by a make file to adjust some hard-coded definitions in the src code. The script generated some values by looking at some of the src files and then writes those values to specific locations in other files. The awk code is used to... (3 Replies)
Discussion started by: LMHmedchem
3 Replies

3. Shell Programming and Scripting

Awk, sed, shell all words in INPUT.txt find in column1 of TABLE.txt and replce with column2 in

Hi dears i have text file like this: INPUT.txt 001_1_173 j nuh ]az 001_1_174 j ]esma. nuh ]/.xori . . . and have another text like this TABLE.txt j j nuh word1... (6 Replies)
Discussion started by: alii
6 Replies

4. UNIX for Beginners Questions & Answers

Find command with Ignore Access issues

Hi, I am using following command to find a specific file. find . -name "find*.txt" -type f -print I am issuing that command at root directory since I don't know in which sub folder that file is getting created from some other process. As I am not having access to all directories, my... (3 Replies)
Discussion started by: RameshCh
3 Replies

5. SCO

Grep to ignore suffix & find end of line

In COBOL, a hyphen can be used in a field name and in a specific program some field names would be identical to others except a suffix was added--sometimes a suffix to a suffix was used. For example, assume I am looking for AAA, AAA-BBB, and AAA-BBB-CCC and don't want to look at AAA-BBB-CCC... (7 Replies)
Discussion started by: wbport
7 Replies

6. Shell Programming and Scripting

Find command with ignore directory

Dear All, I am using find command find /my_rep/*/RKYPROOF/*/*/WDM/HOME_INT/PWD_DATA -name rk*myguidelines*.pdf -print The problem i am facing here is find /my_rep/*/ the directory after my_rep could be mice001, mice002 and mice001_PO, mice002_PO i want to ignore mice***_PO directory... (3 Replies)
Discussion started by: yadavricky
3 Replies

7. Shell Programming and Scripting

Find: ignore directory completely

Hello, I know find can be prevented from recursing into directories with something like the following... find . -name .svn -prune -a type d But how can I completely prevent directories of a certain name (.svn) from being displayed at all, the top level and the children? I really... (2 Replies)
Discussion started by: nwb123
2 Replies

8. UNIX for Dummies Questions & Answers

find lines in file1.txt not found in file2.txt memory problem

I have a diff command that does what I want but when comparing large text/log files, it uses up all the memory I have (sometimes over 8gig of memory) diff file1.txt file2.txt | grep '^<'| awk '{$1="";print $0}' | sed 's/^ *//' Is there a better more efficient way to find the lines in one file... (5 Replies)
Discussion started by: raptor25
5 Replies

9. UNIX for Dummies Questions & Answers

How do I ignore certain dir while using find? solved.

Hello everyone, I'm a newbie. I've got a problem while using find. I know there is a way to do it in man find which is something like find . -wholename './src/emacs' -prune -o -print it works but i also want to use -daystart, -mtime, -type on it and i dont know whats the sequence of these... (0 Replies)
Discussion started by: aquaraider
0 Replies

10. Shell Programming and Scripting

Find -name "*.txt" in Korn Shell Script

The following find command works on the Korn Shell command line: find . \( ! -name . -prune \) -type f -name "*.txt" -mtime +100 In the particular directory I'm in, the above find will list correctly the three text files that exist that haven't been modified in over 100 days: ... (3 Replies)
Discussion started by: jwperry
3 Replies
Login or Register to Ask a Question