{"id":745865,"date":"2023-10-14T21:37:48","date_gmt":"2023-10-15T03:37:48","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/"},"modified":"2023-10-14T21:37:48","modified_gmt":"2023-10-15T03:37:48","slug":"hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/","title":{"rendered":"Hur man batchkomprimerar filer p\u00e5 Mac (automatisera med ett Bash-skript)"},"content":{"rendered":"<p>Om du ofta beh\u00f6ver komprimera ett stort antal filer p\u00e5 din Mac kan du ha tyckt att processen \u00e4r l\u00e5ngsam och repetitiv.  \u00c4ven om det inbyggda Archive Utility i Mac OS kan anv\u00e4ndas f\u00f6r att komprimera filer i omg\u00e5ngar, kan det fortfarande vara en manuell process.  Men med lite skriptkunskap kan du automatisera processen att batchkomprimera filer med ett Bash-skript. <\/p>\n<p>I den h\u00e4r artikeln g\u00e5r vi igenom processen att skapa ett Bash-skript som g\u00f6r att du kan komprimera filer i satser av valfritt antal, p\u00e5 din Mac. Oavsett om du arbetar med hundratals eller tusentals filer, \u00e4r detta skript hj\u00e4lper dig att spara tid och undvika monotonin med att manuellt komprimera filer.  I slutet av denna handledning har du ett fullt fungerande Bash-skript som du kan anv\u00e4nda f\u00f6r att batchbearbeta zip-filer i vilken m\u00e4ngd du beh\u00f6ver, med bara n\u00e5gra enkla kommandon.<\/p>\n<figure class=\"is-mega\" data-lazy=\"\"><\/figure>\n<p>L\u00e5t oss till exempel s\u00e4ga att du har 100 filer i en viss mapp.  Du kan anv\u00e4nda det h\u00e4r skriptet f\u00f6r att komprimera filerna i grupper om 10, vilket kommer att resultera i 10 komprimerade filer totalt.  Alternativt kan du komprimera filerna i grupper om 5, vilket resulterar i totalt 20 komprimerade filer, och s\u00e5 vidare.<\/p>\n<pre name=\"code\" class=\"bash\">\r\n#!\/bin\/bash\r\n\r\n# Set the directory path to the folder containing the files to be compressed\r\nDIR_PATH=\"\/path\/to\/folder\"\r\n\r\n# Set the name prefix of the output archive files\r\nARCHIVE_PREFIX=\"archive\"\r\n\r\n# Set the maximum number of files per batch\r\nMAX_FILES=20\r\n\r\n# Change directory to the specified path\r\ncd \"$DIR_PATH\"\r\n\r\n# Get a list of all files in the directory\r\nfiles=( * )\r\n\r\n# Calculate the number of batches of files\r\nnum_batches=$(( (${#files[@]} + $MAX_FILES - 1) \/ $MAX_FILES ))\r\n\r\n# Loop through each batch of files\r\nfor (( i=0; i&lt;$num_batches; i++ )); do\r\n    # Set the start and end indices of the batch\r\n    start=$(( $i * $MAX_FILES ))\r\n    end=$(( ($i + 1) * $MAX_FILES - 1 ))\r\n    \r\n    # Check if the end index exceeds the number of files\r\n    if (( $end &gt;= ${#files[@]} )); then\r\n        end=$(( ${#files[@]} - 1 ))\r\n    fi\r\n    \r\n    # Create a compressed archive file for the batch of files\r\n    archive_name=\"${ARCHIVE_PREFIX}_${i}.tar.gz\"\r\n    tar -cvzf \"$archive_name\" \"${files[@]:$start:$MAX_FILES}\"\r\ndone\r\n<\/pre>\n<p><a href=\"https:\/\/assets.hongkiat.com\/uploads\/batch-zip-files-mac\/zip-in-batches.sh.zip\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><i class=\"sui sui-download\" style=\"font-size:16px;color:#fff\"><\/i>        Ladda ner skript. <\/a><\/p>\n<h4><span class=\"ez-toc-section\" id=\"Vad_gor_det_har_skriptet\"><\/span>Vad g\u00f6r det h\u00e4r skriptet?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Skriptet ovan \u00e4r ett bash-skript som komprimerar flera filer till batchfiler.<\/p>\n<p>St\u00e4ll f\u00f6rst in s\u00f6kv\u00e4gen till mappen (DIR_PATH=\u201d<strong>\/s\u00f6kv\u00e4g\/till\/mapp<\/strong>&#8220;) som inneh\u00e5ller filerna som ska komprimeras, namnprefixet f\u00f6r utdatafilerna (ARCHIVE_PREFIX=&#8221;<strong>arkiv<\/strong>&#8220;) och det maximala antalet filer per batch (MAX_FILES=<strong>tjugo<\/strong>).<\/p>\n<p>Den \u00e4ndrar sedan den aktuella katalogen till den angivna s\u00f6kv\u00e4gen och f\u00e5r en lista \u00f6ver alla filer i den katalogen.  Skriptet ber\u00e4knar sedan antalet batcher av filer och loopar genom varje batch.<\/p>\n<p>F\u00f6r varje batch, st\u00e4ll in start- och slutindex f\u00f6r batchen, kontrollera om slutindexet \u00f6verstiger antalet filer och skapa sedan en zip-fil f\u00f6r batchen av filer med kommandot &#8216;tar&#8217;.<\/p>\n<p>De resulterande komprimerade filerna namnges med det angivna prefixet och numreras sekventiellt.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Hur_anvander_man_skriptet\"><\/span>Hur anv\u00e4nder man skriptet?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"Steg_1\"><\/span>Steg 1.<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>F\u00f6r att batchbearbeta zip-filer p\u00e5 din Mac, f\u00f6rst <strong>skapa en ny mapp<\/strong> och <strong>placera alla filer du vill komprimera i den mappen<\/strong>.<\/p>\n<p>Du kan till exempel skapa en mapp som heter <strong>&#8216;komprimera&#8217;<\/strong> p\u00e5 ditt skrivbord och placera alla relevanta filer i den mappen.  N\u00e4r du har gjort detta kan du hitta s\u00f6kv\u00e4gen till mappen genom att navigera till den i Finder och sedan h\u00f6gerklicka och v\u00e4lja &#8216;<strong>F\u00e5 information<\/strong>&#8216;.<\/p>\n<p>Alternativt kan du anv\u00e4nda kommandot pwd i Terminal f\u00f6r att visa den aktuella katalogen och sedan l\u00e4gga till mappnamnet i slutet av s\u00f6kv\u00e4gen.  Och i v\u00e5rt fall, v\u00e4gen till <strong>zipme\/<\/strong> \u00e4r: \/Users\/hongkiat\/Desktop\/zipme, s\u00e5 kommer vi att g\u00f6ra f\u00f6ljande:<\/p>\n<p>redigera:<\/p>\n<pre name=\"code\" class=\"bash\">\r\nDIR_PATH=\"\/path\/to\/folder\"\r\n<\/pre>\n<p>att vara:<\/p>\n<pre name=\"code\" class=\"bash\">\r\nDIR_PATH=\"\/Users\/hongkiat\/Desktop\/zipme\"\r\n<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Steg_2\"><\/span>Steg 2.<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><strong>Kopiera och klistra in koden ovan<\/strong> till en ny fil p\u00e5 din Mac med en textredigerare som TextEdit eller Atom.  Spara filen med filtill\u00e4gget (till exempel ) och <strong>g\u00f6r det k\u00f6rbart<\/strong> genom att k\u00f6ra f\u00f6ljande kommando i Terminal:<\/p>\n<pre name=\"code\" class=\"bash\">\r\nchmod +x \/path\/to\/batch_zip.sh\r\n<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Steg_3\"><\/span>Steg 3.<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>F\u00f6r att k\u00f6ra skriptet \u00f6ppnar du sedan Terminal och navigerar till katalogen d\u00e4r skriptet \u00e4r sparat.  Skriv f\u00f6ljande kommando och tryck <strong>Kom in i<\/strong>:<\/p>\n<pre name=\"code\" class=\"bash\">\r\n.\/batch_zip.sh\r\n<\/pre>\n<p><strong>Notera:<\/strong> Om det inte fungerar att k\u00f6ra .\/batch_zip.sh, f\u00f6rs\u00f6k anv\u00e4nda sudo .\/batch_zip.sh ist\u00e4llet.  Observera att &#8220;sudo&#8221; kr\u00e4ver auktorisering genom att ange l\u00f6senordet f\u00f6r det aktuella Mac-anv\u00e4ndarnamnet.<\/p>\n<p>N\u00e4r de har k\u00f6rts komprimeras alla filer i den angivna mappen i batcher med upp till 20 filer vardera, och en fil kommer att skapas f\u00f6r varje batch med det angivna prefixet och ett inkrementellt nummer.<\/p>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/#Vad_gor_det_har_skriptet\" >Vad g\u00f6r det h\u00e4r skriptet?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/#Hur_anvander_man_skriptet\" >Hur anv\u00e4nder man skriptet?<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/#Steg_1\" >Steg 1.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/#Steg_2\" >Steg 2.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-batchkomprimerar-filer-pa-mac-automatisera-med-ett-bash-skript\/#Steg_3\" >Steg 3.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>Om du ofta beh\u00f6ver komprimera ett stort antal filer p\u00e5 din Mac kan du ha tyckt att processen \u00e4r l\u00e5ngsam och repetitiv. \u00c4ven om det inbyggda Archive Utility i Mac OS kan anv\u00e4ndas f\u00f6r att komprimera filer i omg\u00e5ngar, kan det fortfarande vara en manuell process. Men med lite skriptkunskap kan du automatisera processen att [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":745866,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/blogging-techies.com\/wp-content\/uploads\/2023\/06\/22023-768x432-1.webp","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-745865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/745865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=745865"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/745865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/745866"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=745865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=745865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=745865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}