Is it possible to search for a directory/file combination? The Next CEO of Stack OverflowFind path that has specific sub directoryksh:Linux - Command to find a particular directory/fileIs there a way to find a file in an inverse recursive search?Find images by size: find / file / awkExclude directory in findHow do I search all subdirectories to find one with a certain name?Efficiently finding a file/directory based on keywordIdentify sub-directories that do not contain a specific string in a specific fileHow to use the results of “file” (Name of Creating Application: Microsoft Word) to search for a specific string?Search for files within a directoryfind a file through particular search in while loopCreating text files in every sub-directory
Does it take more energy to get to Venus or to Mars?
What benefits would be gained by using human laborers instead of drones in deep sea mining?
Non-deterministic sum of floats
If/When UK leaves the EU, can a future goverment conduct a referendum to join the EU?
What's the best way to handle refactoring a big file?
Elegant way to replace substring in a regex with optional groups in Python?
Can I equip Skullclamp on a creature I am sacrificing?
How does the mv command work with external drives?
Number of real Solution
Giving the same color to different shapefiles in QGIS
Extending anchors in TikZ
What flight has the highest ratio of time difference to flight time?
How are problems classified in Complexity Theory?
Why do we use the plural of movies in this phrase "We went to the movies last night."?
Why am I allowed to create multiple unique pointers from a single object?
Should I tutor a student who I know has cheated on their homework?
Indicator light circuit
Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?
Was a professor correct to chastise me for writing "Prof. X" rather than "Professor X"?
How to count occurrences of text in a file?
What is the purpose of the Evocation wizard's Potent Cantrip feature?
Is HostGator storing my password in plaintext?
How to make a variable always equal to the result of some calculations?
In excess I'm lethal
Is it possible to search for a directory/file combination?
The Next CEO of Stack OverflowFind path that has specific sub directoryksh:Linux - Command to find a particular directory/fileIs there a way to find a file in an inverse recursive search?Find images by size: find / file / awkExclude directory in findHow do I search all subdirectories to find one with a certain name?Efficiently finding a file/directory based on keywordIdentify sub-directories that do not contain a specific string in a specific fileHow to use the results of “file” (Name of Creating Application: Microsoft Word) to search for a specific string?Search for files within a directoryfind a file through particular search in while loopCreating text files in every sub-directory
I need to find an image, say ABC.jpg, that I know will have been programmatically placed into a directory named ABC_MPSC. I've tried:
cd /
find . -name "ABC_MPSC/ABC.jpg"
But that doesn't return anything (I actually know where the particular one I'm searching for is, so I know it exists). Is there a find command that could have helped me not have to search manually?
find
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I need to find an image, say ABC.jpg, that I know will have been programmatically placed into a directory named ABC_MPSC. I've tried:
cd /
find . -name "ABC_MPSC/ABC.jpg"
But that doesn't return anything (I actually know where the particular one I'm searching for is, so I know it exists). Is there a find command that could have helped me not have to search manually?
find
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago
add a comment |
I need to find an image, say ABC.jpg, that I know will have been programmatically placed into a directory named ABC_MPSC. I've tried:
cd /
find . -name "ABC_MPSC/ABC.jpg"
But that doesn't return anything (I actually know where the particular one I'm searching for is, so I know it exists). Is there a find command that could have helped me not have to search manually?
find
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I need to find an image, say ABC.jpg, that I know will have been programmatically placed into a directory named ABC_MPSC. I've tried:
cd /
find . -name "ABC_MPSC/ABC.jpg"
But that doesn't return anything (I actually know where the particular one I'm searching for is, so I know it exists). Is there a find command that could have helped me not have to search manually?
find
find
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 1 hour ago
PascLeRascPascLeRasc
1062
1062
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
PascLeRasc is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago
add a comment |
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago
add a comment |
2 Answers
2
active
oldest
votes
There's a -path predicate that's useful here:
find . -path '*/ABC_MPSC/ABC.jpg'
The POSIX description for that predicate is:
The primary shall evaluate as true if the current pathname matches pattern using the pattern matching notation described in Pattern Matching Notation. The additional rules in Patterns Used for Filename Expansion do not apply as this is a matching operation, not an expansion.
The reason that your -name "ABC_MPSC/ABC.jpg" failed is because the -name predicate:
shall evaluate as true if the basename of the current pathname matches pattern
In other words, -name never sees the directory of the current filename, only the base filename itself (ABC.jpg, for example).
add a comment |
Two ways (apart from using -path):
Look for the directory, then detect the file:
find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -printThis relies on the
findimplementation to expandto the current pathname of the found directory, even though it's concatenated with/ABC.jpg. It could also be written asfind / -type d -name 'ABC_MPSC' -exec sh -c '
test -f "$1"/ABC.jpg' sh ; -printLook for the file, then check it's parent directory name:
find / -type f -name 'ABC.jpg' -exec sh -c '
case $(dirname "$1") in
*/ABC_MPSC) exit 0 ;;
*) exit 1
esac' sh ; -print
Both of these alternatives would be slower than using -path in the way as Jeff shows. I'm leaving them here as examples none the less, as they could possibly be adapted for other things.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509490%2fis-it-possible-to-search-for-a-directory-file-combination%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There's a -path predicate that's useful here:
find . -path '*/ABC_MPSC/ABC.jpg'
The POSIX description for that predicate is:
The primary shall evaluate as true if the current pathname matches pattern using the pattern matching notation described in Pattern Matching Notation. The additional rules in Patterns Used for Filename Expansion do not apply as this is a matching operation, not an expansion.
The reason that your -name "ABC_MPSC/ABC.jpg" failed is because the -name predicate:
shall evaluate as true if the basename of the current pathname matches pattern
In other words, -name never sees the directory of the current filename, only the base filename itself (ABC.jpg, for example).
add a comment |
There's a -path predicate that's useful here:
find . -path '*/ABC_MPSC/ABC.jpg'
The POSIX description for that predicate is:
The primary shall evaluate as true if the current pathname matches pattern using the pattern matching notation described in Pattern Matching Notation. The additional rules in Patterns Used for Filename Expansion do not apply as this is a matching operation, not an expansion.
The reason that your -name "ABC_MPSC/ABC.jpg" failed is because the -name predicate:
shall evaluate as true if the basename of the current pathname matches pattern
In other words, -name never sees the directory of the current filename, only the base filename itself (ABC.jpg, for example).
add a comment |
There's a -path predicate that's useful here:
find . -path '*/ABC_MPSC/ABC.jpg'
The POSIX description for that predicate is:
The primary shall evaluate as true if the current pathname matches pattern using the pattern matching notation described in Pattern Matching Notation. The additional rules in Patterns Used for Filename Expansion do not apply as this is a matching operation, not an expansion.
The reason that your -name "ABC_MPSC/ABC.jpg" failed is because the -name predicate:
shall evaluate as true if the basename of the current pathname matches pattern
In other words, -name never sees the directory of the current filename, only the base filename itself (ABC.jpg, for example).
There's a -path predicate that's useful here:
find . -path '*/ABC_MPSC/ABC.jpg'
The POSIX description for that predicate is:
The primary shall evaluate as true if the current pathname matches pattern using the pattern matching notation described in Pattern Matching Notation. The additional rules in Patterns Used for Filename Expansion do not apply as this is a matching operation, not an expansion.
The reason that your -name "ABC_MPSC/ABC.jpg" failed is because the -name predicate:
shall evaluate as true if the basename of the current pathname matches pattern
In other words, -name never sees the directory of the current filename, only the base filename itself (ABC.jpg, for example).
edited 56 mins ago
answered 1 hour ago
Jeff Schaller♦Jeff Schaller
44.2k1161142
44.2k1161142
add a comment |
add a comment |
Two ways (apart from using -path):
Look for the directory, then detect the file:
find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -printThis relies on the
findimplementation to expandto the current pathname of the found directory, even though it's concatenated with/ABC.jpg. It could also be written asfind / -type d -name 'ABC_MPSC' -exec sh -c '
test -f "$1"/ABC.jpg' sh ; -printLook for the file, then check it's parent directory name:
find / -type f -name 'ABC.jpg' -exec sh -c '
case $(dirname "$1") in
*/ABC_MPSC) exit 0 ;;
*) exit 1
esac' sh ; -print
Both of these alternatives would be slower than using -path in the way as Jeff shows. I'm leaving them here as examples none the less, as they could possibly be adapted for other things.
add a comment |
Two ways (apart from using -path):
Look for the directory, then detect the file:
find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -printThis relies on the
findimplementation to expandto the current pathname of the found directory, even though it's concatenated with/ABC.jpg. It could also be written asfind / -type d -name 'ABC_MPSC' -exec sh -c '
test -f "$1"/ABC.jpg' sh ; -printLook for the file, then check it's parent directory name:
find / -type f -name 'ABC.jpg' -exec sh -c '
case $(dirname "$1") in
*/ABC_MPSC) exit 0 ;;
*) exit 1
esac' sh ; -print
Both of these alternatives would be slower than using -path in the way as Jeff shows. I'm leaving them here as examples none the less, as they could possibly be adapted for other things.
add a comment |
Two ways (apart from using -path):
Look for the directory, then detect the file:
find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -printThis relies on the
findimplementation to expandto the current pathname of the found directory, even though it's concatenated with/ABC.jpg. It could also be written asfind / -type d -name 'ABC_MPSC' -exec sh -c '
test -f "$1"/ABC.jpg' sh ; -printLook for the file, then check it's parent directory name:
find / -type f -name 'ABC.jpg' -exec sh -c '
case $(dirname "$1") in
*/ABC_MPSC) exit 0 ;;
*) exit 1
esac' sh ; -print
Both of these alternatives would be slower than using -path in the way as Jeff shows. I'm leaving them here as examples none the less, as they could possibly be adapted for other things.
Two ways (apart from using -path):
Look for the directory, then detect the file:
find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -printThis relies on the
findimplementation to expandto the current pathname of the found directory, even though it's concatenated with/ABC.jpg. It could also be written asfind / -type d -name 'ABC_MPSC' -exec sh -c '
test -f "$1"/ABC.jpg' sh ; -printLook for the file, then check it's parent directory name:
find / -type f -name 'ABC.jpg' -exec sh -c '
case $(dirname "$1") in
*/ABC_MPSC) exit 0 ;;
*) exit 1
esac' sh ; -print
Both of these alternatives would be slower than using -path in the way as Jeff shows. I'm leaving them here as examples none the less, as they could possibly be adapted for other things.
edited 50 mins ago
answered 1 hour ago
Kusalananda♦Kusalananda
138k17258428
138k17258428
add a comment |
add a comment |
PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.
PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.
PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.
PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509490%2fis-it-possible-to-search-for-a-directory-file-combination%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Very similar: unix.stackexchange.com/q/342392/117549; also: unix.stackexchange.com/q/352844/117549
– Jeff Schaller♦
1 hour ago