Sponsored Content
Top Forums Shell Programming and Scripting Linux find command : how to use multiple conditions Post 303035646 by Chubler_XL on Thursday 30th of May 2019 12:38:21 AM
Old 05-30-2019
Try:
Code:
find path \( \
   \( [condition A] \) -prune -o \
   \( [condition B] \) -prune -o \
   \( [condition C] \) -prune \
\) -o -print


Example:

Code:
$ mkdir -p date_chk/{one,two}/{in,out,Documents,Music}
$ touch -t 201901011033 date_chk/{one,two}/{in,out}/oldy
$ touch date_chk/{one,two}/{in,out,Documents,Music}/{okfile,.xsession_notOK,.Xauthor}
$ touch -t 201903011000 foo_deb
$ touch -t 201912011000 foo_end
$ find ./date_chk \( \
     \( -newer foo_end -o ! -newer foo_deb \) -prune -o \
     \( -type d \( -iname Documents -o -iname Music \) \) -prune -o \
     \( -type f \( -name ".xsession*" -o -name ".Xauthor*" \) \) -prune \) -o -print
./date_chk
./date_chk/one
./date_chk/one/in
./date_chk/one/in/okfile
./date_chk/one/out
./date_chk/one/out/okfile
./date_chk/two
./date_chk/two/in
./date_chk/two/in/okfile
./date_chk/two/out
./date_chk/two/out/okfile


Last edited by Chubler_XL; 05-30-2019 at 07:22 PM.. Reason: Missing hyphen on last print parameter - thanks jcdole
These 4 Users Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

multiple conditions in if/then

Hello, I am having trouble with the syntax with a conditional statement in a BASH script involving multiple conditions. Any suggestions would be greatly appreciated! if ; then array=("${array}" "$dnNum" ) fi i receive this error: ./testscript: ' (4 Replies)
Discussion started by: grandtheftander
4 Replies

2. UNIX for Dummies Questions & Answers

Multiple conditions in find or ls stmts

I'm looking for syntax to include two search patterns in a find or ls command. e.g. find BTIME_ACTUAL_HRS* OR BTIME_SCHEDULED_HRS* tia (5 Replies)
Discussion started by: mavsman
5 Replies

3. Shell Programming and Scripting

multiple if conditions

Guys, Im trying to have a script that evaluates multiple conditions : test.sh: if then echo "host $1" else if then echo "host $1" else echo $1 not valid exit 1 fi when I do ./test.sh brazil1 I get: (4 Replies)
Discussion started by: bashshadow1979
4 Replies

4. Linux

Simplified find command to find multiple file types

Hi, I'm using the following command to find the multiple requierd file types and its working fine find . -name "*.pl" -o -name "*.pm" -o -name "*.sql" -o -name "*.so" -o -name "*.sh" -o -name "*.java" -o -name "*.class" -o -name "*.jar" -o -name "*.gz" -o -name "*.Z" -type f Though... (2 Replies)
Discussion started by: vickramshetty
2 Replies

5. UNIX for Dummies Questions & Answers

grep command to find multiple strings in multiple lines in a file.

I want to search files (basically .cc files) in /xx folder and subfolders. Those files (*.cc files) must contain #include "header.h" AND x() function. I am writing it another way to make it clear, I wanna list of *.cc files that have 'header.h' & 'x()'. They must have two strings, header.h... (2 Replies)
Discussion started by: ritikaSharma
2 Replies

6. UNIX for Advanced & Expert Users

linux find and replace in multiple files

Is there a reason why all of these examples of linux find and replace in multiple files use find and grep to pipe into sed or perl. Why not just use sed or perl directly with something like this? sed -i 's/echo/burnbaby/g' booboo*... (2 Replies)
Discussion started by: cokedude
2 Replies

7. Shell Programming and Scripting

Find multiple string in one file using find command

Hi, I want find multiple string in one file using find coomand. And keeping it in one variable.grep is not working. (5 Replies)
Discussion started by: vivek1489
5 Replies

8. UNIX for Dummies Questions & Answers

Multiple Find Conditions in IF Statement - UNIX

When I try the below if Condition with single condition its working fine. But when I try to Club both its working . But giving wrong results. In my case cond1 = -f ${filename1} = true cond2 = -f ${filename2} = true But Cond1 & Cond2 is resulting in False ??? Please advise ... (5 Replies)
Discussion started by: Shiny_Reddy
5 Replies

9. UNIX for Dummies Questions & Answers

If + multiple conditions

Hello Unix-Forums! It has been a long time since my last post, but finally I've got a new question: I know in case you can use multiple patterns by case $var in a|b|c|ab) and so on. But how would I place an OR between if ] then ... if ] then ... I want to execute the "..." if... (3 Replies)
Discussion started by: intelinside
3 Replies

10. Shell Programming and Scripting

Multiple conditions in IF

Fellas, Am new to unix os/ and here the situation , I am trying to write multiple condition statement inside if but it throws me a error here is my piece of code , if ] && ] && ] then commands fi error : line 15 : ` can someone please advise me how to fix it Please use... (7 Replies)
Discussion started by: xeccc5z
7 Replies
GIT-PACK-REFS(1)						    Git Manual							  GIT-PACK-REFS(1)

NAME
git-pack-refs - Pack heads and tags for efficient repository access SYNOPSIS
git pack-refs [--all] [--no-prune] DESCRIPTION
Traditionally, tips of branches and tags (collectively known as refs) were stored one file per ref under $GIT_DIR/refs directory. While many branch tips tend to be updated often, most tags and some branch tips are never updated. When a repository has hundreds or thousands of tags, this one-file-per-ref format both wastes storage and hurts performance. This command is used to solve the storage and performance problem by stashing the refs in a single file, $GIT_DIR/packed-refs. When a ref is missing from the traditional $GIT_DIR/refs hierarchy, it is looked up in this file and used if found. Subsequent updates to branches always create new files under $GIT_DIR/refs hierarchy. A recommended practice to deal with a repository with too many refs is to pack its refs with --all --prune once, and occasionally run git pack-refs --prune. Tags are by definition stationary and are not expected to change. Branch heads will be packed with the initial pack-refs --all, but only the currently active branch heads will become unpacked, and the next pack-refs (without --all) will leave them unpacked. OPTIONS
--all The command by default packs all tags and refs that are already packed, and leaves other refs alone. This is because branches are expected to be actively developed and packing their tips does not help performance. This option causes branch tips to be packed as well. Useful for a repository with many branches of historical interests. --no-prune The command usually removes loose refs under $GIT_DIR/refs hierarchy after packing them. This option tells it not to. AUTHOR
Written by Linus Torvalds <torvalds@osdl.org[1]> GIT
Part of the git(1) suite NOTES
1. torvalds@osdl.org mailto:torvalds@osdl.org Git 1.7.1 07/05/2010 GIT-PACK-REFS(1)
All times are GMT -4. The time now is 08:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy