How to copy file from a list to a new folder?












2















I have a file file1.txt located in a trial folder containing the location of image files. I want to read the list, and copy the image files to a new folder, test_folder.



The entries in file1.txt look like:



./trial/data/image1.jpg
./trial/data/image2.jpg


etc.



I tried to use a similar question to solve the problem: Copy/move a list of files to a new directory



Attempt



while read file; do cp "$file" /trial/test_folder; done < /trial/file1.txt


I get the error "bash: /trial/file1.txt: No such file or directory". Any help would be great!










share|improve this question

























  • I have updated the question to include that - thanks!

    – Shane B
    Mar 22 at 10:16
















2















I have a file file1.txt located in a trial folder containing the location of image files. I want to read the list, and copy the image files to a new folder, test_folder.



The entries in file1.txt look like:



./trial/data/image1.jpg
./trial/data/image2.jpg


etc.



I tried to use a similar question to solve the problem: Copy/move a list of files to a new directory



Attempt



while read file; do cp "$file" /trial/test_folder; done < /trial/file1.txt


I get the error "bash: /trial/file1.txt: No such file or directory". Any help would be great!










share|improve this question

























  • I have updated the question to include that - thanks!

    – Shane B
    Mar 22 at 10:16














2












2








2








I have a file file1.txt located in a trial folder containing the location of image files. I want to read the list, and copy the image files to a new folder, test_folder.



The entries in file1.txt look like:



./trial/data/image1.jpg
./trial/data/image2.jpg


etc.



I tried to use a similar question to solve the problem: Copy/move a list of files to a new directory



Attempt



while read file; do cp "$file" /trial/test_folder; done < /trial/file1.txt


I get the error "bash: /trial/file1.txt: No such file or directory". Any help would be great!










share|improve this question
















I have a file file1.txt located in a trial folder containing the location of image files. I want to read the list, and copy the image files to a new folder, test_folder.



The entries in file1.txt look like:



./trial/data/image1.jpg
./trial/data/image2.jpg


etc.



I tried to use a similar question to solve the problem: Copy/move a list of files to a new directory



Attempt



while read file; do cp "$file" /trial/test_folder; done < /trial/file1.txt


I get the error "bash: /trial/file1.txt: No such file or directory". Any help would be great!







command-line bash copy






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 22 at 10:20







Shane B

















asked Mar 22 at 9:58









Shane BShane B

133




133













  • I have updated the question to include that - thanks!

    – Shane B
    Mar 22 at 10:16



















  • I have updated the question to include that - thanks!

    – Shane B
    Mar 22 at 10:16

















I have updated the question to include that - thanks!

– Shane B
Mar 22 at 10:16





I have updated the question to include that - thanks!

– Shane B
Mar 22 at 10:16










2 Answers
2






active

oldest

votes


















4














The error you are getting is because you are reading /trial/file1.txt and not ./trial/file1.txt. That means the shell is trying to find a directory called trial which is under the root directory (/). If you want a path that is relative to your current directory, you can just use:



while read file; do cp "$file" trial/test_folder; done < trial/file1.txt


Or,



while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt


Or, you can use the full path:



while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt





share|improve this answer
























  • Thanks so much! That worked. I am very new to Linux so that was a great help

    – Shane B
    Mar 22 at 10:23



















2














Another way is to use xargs and cp --target-directory=... thusly:



xargs -r <trial/file1.txt cp --target-directory=./trial/test_folder





share|improve this answer
























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    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: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1127773%2fhow-to-copy-file-from-a-list-to-a-new-folder%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














    The error you are getting is because you are reading /trial/file1.txt and not ./trial/file1.txt. That means the shell is trying to find a directory called trial which is under the root directory (/). If you want a path that is relative to your current directory, you can just use:



    while read file; do cp "$file" trial/test_folder; done < trial/file1.txt


    Or,



    while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt


    Or, you can use the full path:



    while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt





    share|improve this answer
























    • Thanks so much! That worked. I am very new to Linux so that was a great help

      – Shane B
      Mar 22 at 10:23
















    4














    The error you are getting is because you are reading /trial/file1.txt and not ./trial/file1.txt. That means the shell is trying to find a directory called trial which is under the root directory (/). If you want a path that is relative to your current directory, you can just use:



    while read file; do cp "$file" trial/test_folder; done < trial/file1.txt


    Or,



    while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt


    Or, you can use the full path:



    while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt





    share|improve this answer
























    • Thanks so much! That worked. I am very new to Linux so that was a great help

      – Shane B
      Mar 22 at 10:23














    4












    4








    4







    The error you are getting is because you are reading /trial/file1.txt and not ./trial/file1.txt. That means the shell is trying to find a directory called trial which is under the root directory (/). If you want a path that is relative to your current directory, you can just use:



    while read file; do cp "$file" trial/test_folder; done < trial/file1.txt


    Or,



    while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt


    Or, you can use the full path:



    while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt





    share|improve this answer













    The error you are getting is because you are reading /trial/file1.txt and not ./trial/file1.txt. That means the shell is trying to find a directory called trial which is under the root directory (/). If you want a path that is relative to your current directory, you can just use:



    while read file; do cp "$file" trial/test_folder; done < trial/file1.txt


    Or,



    while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt


    Or, you can use the full path:



    while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Mar 22 at 10:20









    terdonterdon

    67.3k13139222




    67.3k13139222













    • Thanks so much! That worked. I am very new to Linux so that was a great help

      – Shane B
      Mar 22 at 10:23



















    • Thanks so much! That worked. I am very new to Linux so that was a great help

      – Shane B
      Mar 22 at 10:23

















    Thanks so much! That worked. I am very new to Linux so that was a great help

    – Shane B
    Mar 22 at 10:23





    Thanks so much! That worked. I am very new to Linux so that was a great help

    – Shane B
    Mar 22 at 10:23













    2














    Another way is to use xargs and cp --target-directory=... thusly:



    xargs -r <trial/file1.txt cp --target-directory=./trial/test_folder





    share|improve this answer




























      2














      Another way is to use xargs and cp --target-directory=... thusly:



      xargs -r <trial/file1.txt cp --target-directory=./trial/test_folder





      share|improve this answer


























        2












        2








        2







        Another way is to use xargs and cp --target-directory=... thusly:



        xargs -r <trial/file1.txt cp --target-directory=./trial/test_folder





        share|improve this answer













        Another way is to use xargs and cp --target-directory=... thusly:



        xargs -r <trial/file1.txt cp --target-directory=./trial/test_folder






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 22 at 12:36









        waltinatorwaltinator

        22.8k74169




        22.8k74169






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Ask Ubuntu!


            • 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%2faskubuntu.com%2fquestions%2f1127773%2fhow-to-copy-file-from-a-list-to-a-new-folder%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

            "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

            Alcedinidae

            Origin of the phrase “under your belt”?