Argument list too long when zipping large list of certain files in a folder












4















I'm trying to zip a certain large number of files by creating an array of them. Then I tried to run the zip command but met with "Argument list too long" error.



declare -a arr=()       

fixed=5
for i in `seq 10 1 200`; do
for j in `seq $((i+fixed)) 1 200`; do
arr+=("${i}_${j}.xxx")
done
done

new_arr=$(printf ",%s" "${arr[@]}")
new_arr=${new_arr:1}

zip all_data.zip {$new_arr}









share|improve this question









New contributor




Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

    – Henno Brandsma
    yesterday


















4















I'm trying to zip a certain large number of files by creating an array of them. Then I tried to run the zip command but met with "Argument list too long" error.



declare -a arr=()       

fixed=5
for i in `seq 10 1 200`; do
for j in `seq $((i+fixed)) 1 200`; do
arr+=("${i}_${j}.xxx")
done
done

new_arr=$(printf ",%s" "${arr[@]}")
new_arr=${new_arr:1}

zip all_data.zip {$new_arr}









share|improve this question









New contributor




Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

    – Henno Brandsma
    yesterday
















4












4








4








I'm trying to zip a certain large number of files by creating an array of them. Then I tried to run the zip command but met with "Argument list too long" error.



declare -a arr=()       

fixed=5
for i in `seq 10 1 200`; do
for j in `seq $((i+fixed)) 1 200`; do
arr+=("${i}_${j}.xxx")
done
done

new_arr=$(printf ",%s" "${arr[@]}")
new_arr=${new_arr:1}

zip all_data.zip {$new_arr}









share|improve this question









New contributor




Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I'm trying to zip a certain large number of files by creating an array of them. Then I tried to run the zip command but met with "Argument list too long" error.



declare -a arr=()       

fixed=5
for i in `seq 10 1 200`; do
for j in `seq $((i+fixed)) 1 200`; do
arr+=("${i}_${j}.xxx")
done
done

new_arr=$(printf ",%s" "${arr[@]}")
new_arr=${new_arr:1}

zip all_data.zip {$new_arr}






bash






share|improve this question









New contributor




Zack 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




Zack 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








edited yesterday







Zack













New contributor




Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









ZackZack

234




234




New contributor




Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Zack is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

    – Henno Brandsma
    yesterday





















  • As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

    – Henno Brandsma
    yesterday



















As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

– Henno Brandsma
yesterday







As an alternative: you can create an empty zip file at the beginning and add a file to that zip file, instead of making an array first and adding them all at once. Might save you a loop, unless you have need for the array for other reasons...

– Henno Brandsma
yesterday












1 Answer
1






active

oldest

votes


















6














extract from man zip ( linux version )



   zip -@ foo
will store the files listed one per line on stdin in foo.zip.


example from the same man page



   find . -name "*.[ch]" -print | zip source -@


So steps will be :




  1. build a list off all files to be archive , format must one file name by line



  2. run zip command



    cat BIG_FILENAME_LIST.txt | zip thebigziparchive -@








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
    });


    }
    });






    Zack 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%2f508247%2fargument-list-too-long-when-zipping-large-list-of-certain-files-in-a-folder%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6














    extract from man zip ( linux version )



       zip -@ foo
    will store the files listed one per line on stdin in foo.zip.


    example from the same man page



       find . -name "*.[ch]" -print | zip source -@


    So steps will be :




    1. build a list off all files to be archive , format must one file name by line



    2. run zip command



      cat BIG_FILENAME_LIST.txt | zip thebigziparchive -@








    share|improve this answer




























      6














      extract from man zip ( linux version )



         zip -@ foo
      will store the files listed one per line on stdin in foo.zip.


      example from the same man page



         find . -name "*.[ch]" -print | zip source -@


      So steps will be :




      1. build a list off all files to be archive , format must one file name by line



      2. run zip command



        cat BIG_FILENAME_LIST.txt | zip thebigziparchive -@








      share|improve this answer


























        6












        6








        6







        extract from man zip ( linux version )



           zip -@ foo
        will store the files listed one per line on stdin in foo.zip.


        example from the same man page



           find . -name "*.[ch]" -print | zip source -@


        So steps will be :




        1. build a list off all files to be archive , format must one file name by line



        2. run zip command



          cat BIG_FILENAME_LIST.txt | zip thebigziparchive -@








        share|improve this answer













        extract from man zip ( linux version )



           zip -@ foo
        will store the files listed one per line on stdin in foo.zip.


        example from the same man page



           find . -name "*.[ch]" -print | zip source -@


        So steps will be :




        1. build a list off all files to be archive , format must one file name by line



        2. run zip command



          cat BIG_FILENAME_LIST.txt | zip thebigziparchive -@









        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        EchoMike444EchoMike444

        1,0506




        1,0506






















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










            draft saved

            draft discarded


















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













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












            Zack 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%2f508247%2fargument-list-too-long-when-zipping-large-list-of-certain-files-in-a-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

            數位音樂下載

            When can things happen in Etherscan, such as the picture below?

            格利澤436b