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










1















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?










share|improve this question







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
















1















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?










share|improve this question







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














1












1








1








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?










share|improve this question







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






share|improve this question







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.











share|improve this question







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.









share|improve this question




share|improve this question






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


















  • 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











2 Answers
2






active

oldest

votes


















4














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).






share|improve this answer
































    1














    Two ways (apart from using -path):




    1. Look for the directory, then detect the file:



      find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -print


      This relies on the find implementation to expand to the current pathname of the found directory, even though it's concatenated with /ABC.jpg. It could also be written as



      find / -type d -name 'ABC_MPSC' -exec sh -c '
      test -f "$1"/ABC.jpg' sh ; -print



    2. Look 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.






    share|improve this answer

























      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.









      draft saved

      draft discarded


















      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









      4














      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).






      share|improve this answer





























        4














        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).






        share|improve this answer



























          4












          4








          4







          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).






          share|improve this answer















          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).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 56 mins ago

























          answered 1 hour ago









          Jeff Schaller♦Jeff Schaller

          44.2k1161142




          44.2k1161142























              1














              Two ways (apart from using -path):




              1. Look for the directory, then detect the file:



                find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -print


                This relies on the find implementation to expand to the current pathname of the found directory, even though it's concatenated with /ABC.jpg. It could also be written as



                find / -type d -name 'ABC_MPSC' -exec sh -c '
                test -f "$1"/ABC.jpg' sh ; -print



              2. Look 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.






              share|improve this answer





























                1














                Two ways (apart from using -path):




                1. Look for the directory, then detect the file:



                  find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -print


                  This relies on the find implementation to expand to the current pathname of the found directory, even though it's concatenated with /ABC.jpg. It could also be written as



                  find / -type d -name 'ABC_MPSC' -exec sh -c '
                  test -f "$1"/ABC.jpg' sh ; -print



                2. Look 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.






                share|improve this answer



























                  1












                  1








                  1







                  Two ways (apart from using -path):




                  1. Look for the directory, then detect the file:



                    find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -print


                    This relies on the find implementation to expand to the current pathname of the found directory, even though it's concatenated with /ABC.jpg. It could also be written as



                    find / -type d -name 'ABC_MPSC' -exec sh -c '
                    test -f "$1"/ABC.jpg' sh ; -print



                  2. Look 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.






                  share|improve this answer















                  Two ways (apart from using -path):




                  1. Look for the directory, then detect the file:



                    find / -type d -name 'ABC_MPSC' -exec test -f /ABC.jpg ; -print


                    This relies on the find implementation to expand to the current pathname of the found directory, even though it's concatenated with /ABC.jpg. It could also be written as



                    find / -type d -name 'ABC_MPSC' -exec sh -c '
                    test -f "$1"/ABC.jpg' sh ; -print



                  2. Look 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.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 50 mins ago

























                  answered 1 hour ago









                  Kusalananda♦Kusalananda

                  138k17258428




                  138k17258428




















                      PascLeRasc is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      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.




                      draft saved


                      draft discarded














                      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





















































                      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







                      Popular posts from this blog

                      Which organization defines CJK Unified Ideographs? The Next CEO of Stack OverflowCharacters which have several different shapesHow useful are the kanji in reading Chinese?Can Chinese readers scan large amounts of text faster/more accurately than their alphabet-using counterparts?丼: why is “well” also “bowl of food”?What Does Unicode 8.0 Mean For Chinese?How are blanks indicated for placeholders in Chinese (like ???)Is there a dictionary of standard character variants?How to display CJK Extension F?How is it decided as to which character is used on the tech terminology?How does 子 come to mean 'midnight'?

                      Shenzhen Football Club Índice Elenco atual | Títulos | Referências Ligações externas | Menu de navegaçãoGooglenotíciaslivrosacadêmicoeditar«"Elenco"»Site oficialexpandindo-oeee

                      When We Were Young (canção de Adele) Índice Antecedentes e lançamento | Faixas e formatos | Performances e covers | Desempenho nas tabelas musicais | Créditos | Histórico de lançamento | Referências Menu de navegação«Best albums of 2015»«Adele - When We Were Young (Radio Date: 22-01-2016)»«When We Were Young - Single by Adele»«Adele: Inside Her Private Life and Triumphant Return»«adele interview: world exclusive first interview in three years»«Tobias Jesso Jr: since Adele tweeted his song, he's even bigger than his dad»«Adele interviews Tobias Jesso Jr: 'I think that a couple of the ideas we had could be rap songs'»«Adele on Her Return: 'I Was So Frightened That No One Cared'»«Tobias Jesso Jr. on working with Adele: 'I was as nervous as shit'»«How Ariel Rechtshaid Pushed Adele To Her Limit»«Adele Previews 'When We Were Young' on '60 Minutes' Teaser, Tops Trending 140»«Adele Performs New '25' Ballad, "When We Were Young" Live: Watch»«Which '25' Song Should Be Adele's Next Single?»«Adele's 'When We Were Young' Confirmed As Second Single From '25'»«Adele's new single artwork for 'When We Were Young' is perfectly adorable»«Adele at the BBC review: honest, funny and spectacular – Celebrity News News»«'Saturday Night Live': Adele Sings 'Hello' and 'When We Were Young'»«'Adele: Live in New York City' NBC Special – Set List Revealed!»«Adele Closes Out the 2016 Brit Awards With 'When We Were Young'»«What Is The Adele Live Tour Set List? There's No Way She'd Leave Out These 8 Songs»«See Demi Lovato's Soaring Cover of Adele's 'When We Were Young'»«'The Voice': 5 Best Moments From Week 1 Blind Auditions»«Adele – When We Were Young (Media Control Charts)»«Adele – When We Were Young (Entertainment Monitoring Africa)»«Adele – When We Were Young (ARIA Charts)»«Adele – When We Were Young (Ö3 Austria Top 40)»«Adele – When We Were Young (Ultratop 50)»«Adele – When We Were Young (Ultratop 40)»«Adele – When We Were Young (Canadian Hot 100)»«Adele – When We Were Young (Tracklisten)»«Adele – When We Were Young (The Official Charts Company)»«Adele – Hello (IFPI Slovenská Republika)»«Adele – When We Were Young (Productores de Música de España)»«Adele – When We Were Young (Billboard Hot 100)»«Adele – When We Were Young (Pop Songs)»«Adele – When We Were Young (Adult Pop Songs)»«Adele – When We Were Young (Hot Adult Contemporary Charts)»«Adele – When We Were Young (Hot Dance Club Songs)»«Adele – When We Were Young (Rock Airplay)»«Adele – When We Were Young (IFPI Finlândia)»«Adele – When We Were Young (Syndicat National de l'Éditon Phonographique)»«Adele – When We Were Young (Magyar Hanglemezkiadók Szövetsége)»«Adele – When We Were Young (Irish Recorded Music Association)»«Adele – When We Were Young (Mexico Airplay)»«Adele – When We Were Young (VG-lista)»«Adele – When We Were Young (NZ Top 40 Singles)»«Adele – When We Were Young (MegaCharts)»«Adele – When We Were Young (Związek Producentów Audio Video)»«Adele – When We Were Young (Portugal Digital Songs)»«Adele – When We Were Young (UK Indie Singles Chart)»«Adele – When We Were Young (UK Singles Chart)»«Adele – When We Were Young (Sverigetopplistan)»«Adele – When We Were Young (Schweizer Hitparade)»«Adele – When We Were Young (Portugal Digital Songs)»«Music Canada – Gold/Platinum – When We Were Young»«NZ Top 40 Singles Chart»«Certified Awards»e