Alix Postad 13 april, 2018 Share Postad 13 april, 2018 8 timmar sedan, modEric säger: Visst kan du det. Även med det jag skrev i 1'a spoilern där uppe, med xz. Förutsatt att du har xz installerat. Det sista jag skrev där var bara samma som Mattias skrev, fast man bara anv tar. ... 8 timmar sedan, Mattiasgbg säger: De ska du kunna göra, om du först installerar xz, vilket jag inte har. Tar-raden är det som behöver ändras. Tack, jag har installerat xz, men får det inte att fungera. Fattar inte hur den där tar-raden ska ändras, de ser så olika ut. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 13 april, 2018 Share Postad 13 april, 2018 28 minuter sedan, Alix säger: Tack, jag har installerat xz, men får det inte att fungera. Fattar inte hur den där tar-raden ska ändras, de ser så olika ut. tar -cvf - --exclude={'.DS_Store','._*'} "$1" | xz -6e > "$1".tar.xz antar jag, alltså utan ; i slutet. Samt att variabelnamnet "$1" anpassas. Fast jag är lite osäker, @modEric, ska det vara - mellan -cvf och --exclude...? Länk till kommentar Dela på andra webbplatser More sharing options...
Alix Postad 13 april, 2018 Share Postad 13 april, 2018 23 minuter sedan, Mattiasgbg säger: tar -cvf - --exclude={'.DS_Store','._*'} "$1" | xz -6e > "$1".tar.xz antar jag, alltså utan ; i slutet. Samt att variabelnamnet "$1" anpassas. Fast jag är lite osäker, @modEric, ska det vara - mellan -cvf och --exclude...? Om jag använder detta: for f in "$@" do tar -cvf - --exclude={'.DS_Store','._*'} "$f" | xz -6e > "$f".tar.xz done ... får jag följande felmeddelande: Jag har installerat xz via: brew install xz Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 13 april, 2018 Share Postad 13 april, 2018 14 minuter sedan, Alix säger: Om jag använder detta: for f in "$@" do tar -cvf - --exclude={'.DS_Store','._*'} "$f" | xz -6e > "$f".tar.xz done ... får jag följande felmeddelande: Jag har installerat xz via: brew install xz Funkar xz? Kan du köra exempelvis tar -cvf testfil | xz -6e > testfil.pressad där testfil ersätts med valfri fil? Länk till kommentar Dela på andra webbplatser More sharing options...
Alix Postad 13 april, 2018 Share Postad 13 april, 2018 11 minuter sedan, Mattiasgbg säger: Funkar xz? Kan du köra exempelvis tar -cvf testfil | xz -6e > testfil.pressad där testfil ersätts med valfri fil? Jag förstår mig inte på detta, jag kastar in handduken. Men tack för att du och ni försöker. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 13 april, 2018 Share Postad 13 april, 2018 1 minut sedan, Alix säger: Jag förstår mig inte på detta, jag kastar in handduken. Men tack för att du och ni försöker. Fel i förra inlägget. Kan du köra den raden i Terminal? Länk till kommentar Dela på andra webbplatser More sharing options...
Alix Postad 13 april, 2018 Share Postad 13 april, 2018 (redigerade) 14 minuter sedan, Mattiasgbg säger: Fel i förra inlägget. Kan du köra den raden i Terminal? tar -cvf testfil | xz -6e > testfil.pressad tar: no files or directories specified Om jag kör följande: tar -cvf /Users/user/Desktop/dump.jpg | xz -6e > /Users/user/Desktop/dump.jpg.pressad får jag samma svar (tar: no files or directories specified), men dessutom en fil på skrivbordet enligt dumpen: ”user” = mitt användarnamn som är något annat. Redigerad 13 april, 2018 av Alix Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 13 april, 2018 Share Postad 13 april, 2018 17 minuter sedan, Alix säger: tar -cvf testfil | xz -6e > testfil.pressad tar: no files or directories specified Om jag kör följande: tar -cvf /Users/user/Desktop/dump.jpg | xz -6e > /Users/user/Desktop/dump.jpg.pressad får jag samma svar (tar: no files or directories specified), men dessutom en fil på skrivbordet enligt dumpen: ”user” = mitt användarnamn som är något annat. Misstänker att det kan vara -f som spökar. Ur "man tar": Citat -c Create a new archive containing the specified items. Citat -f file Read the archive from or write the archive to the specified file. The filename can be - for standard input or standard output. Citat -v Produce verbose output. In create and extract modes, tar will list each file name as it is read from or written to the archive. In list mode, tar will produce output similar to that of ls(1). Additional -v options will provide additional detail. Det borde funka utan -f eftersom det då blir samma som det jag körde utan xz. Symbolen | av en sammankopplande avgränsade mellan två olika kommandon, så de olika sidorna behöver inte ha med varandra att göra, men då blir det inte särskilt meningsfullt. Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 13 april, 2018 Författare Share Postad 13 april, 2018 47 minuter sedan, Mattiasgbg säger: 1 timme sedan, Alix säger: Tack, jag har installerat xz, men får det inte att fungera. Fattar inte hur den där tar-raden ska ändras, de ser så olika ut. tar -cvf - --exclude={'.DS_Store','._*'} "$1" | xz -6e > "$1".tar.xz antar jag, alltså utan ; i slutet. Samt att variabelnamnet "$1" anpassas. Fast jag är lite osäker, @modEric, ska det vara - mellan -cvf och --exclude...? Ja, det skall vara där. men det kanske kan funka utan - har aldrig provat. Det har väl med pipe'n att göra. Gör några exempel nu... Köra manuellt i Terminal: OM det skule vara så att macOS fått en nyare tar (bsdtar), testa med den första - sen den andra. Båda funkar/gör samma sak. Anväder “~/Desktop“ som exempel. # Testa med: XZ_OPT=-e6 tar -cvJf Desktop.tar.xz "~/Desktop" # annars prova med: tar -cvf - "~/Desktop" | xz -6e > Desktop.tar.xz För att göra det med Windowsvänligt: # lägg till: --exclude={'.DS_Store','._*'} # De hamnar på olika ställen beroende på vilken man kör. XZ_OPT=-e6 tar -cvJf Desktop.tar.xz --exclude={'.DS_Store','._*'} "~/Desktop" tar -cvf - --exclude={'.DS_Store','._*'} "~/Desktop" | xz -6e > Desktop.tar.xz - - - Att använda som funktion (i t ex ~/.bash_profile) function mkxz () { excl=`echo --exclude={'.DS_Store','._*'}`; tar -cvf - ${_excl} "$1" | xz -6e > "$1".tar.xz; } # anv: # mkxz ~/Desktop # # ($1 = ~/Desktop) Spara och starta om Terminalen så skall det funka sen. (det är bara den väre delen du använder) - - - Som eget litet skript: #!/usr/bin/env bash ERR=0; _p=$(dirname "$1"); _f=$(basename "$1"); _excl=`echo --exclude={'.DS_S*','._*'}`; if [ -e "$1" ]; then cd "${_p}"; tar -cvf - ${_excl} "${_f}" | xz -6e > "${_f}".tar.xz; ERR=$?; else echo -e "$(basename "$1"): Det gick inte att skapa '${_f}.tar.xz'\n"; ERR=1; fi exit ${ERR}; mkxz.zip <-- ladda ner, eller --> spara det i rutan på skrivbordet som “mkxz” och installera den sen med: cd ~/Desktop sudo install -v -m755 -o0 -g0 mkxz /usr/local/bin # anv: # mkxz ~/Desktop Tänkt på att funktionen hette samma namn som skriptet, byt namn på ena om du vill ha båda. Och som installerat litet skript är detmycket enklare att köra både själv i terinalen &/el använda med Automator. Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 13 april, 2018 Författare Share Postad 13 april, 2018 1 timme sedan, Mattiasgbg säger: tar -cvf - --exclude={'.DS_Store','._*'} "$1" | xz -6e > "$1".tar.xz antar jag, alltså utan ; i slutet. Samt att variabelnamnet "$1" anpassas. Fast jag är lite osäker, @modEric, ska det vara - mellan -cvf och --exclude...? Strecket... Det är det som nomalt skulle ha vara namn på arkivet. tar <options> NamnPåArkiv.tar.ext "DIR" Men det hamnar ju på andra sidan pipe'n - så… tar <options> - "DIR" | xz -6e > NamnPåArkiv.tar.xz Länk till kommentar Dela på andra webbplatser More sharing options...
Alix Postad 13 april, 2018 Share Postad 13 april, 2018 Last login: Fri Apr 13 11:35:03 on ttys000 192:~ nissehult$ brew remove xz Uninstalling /usr/local/Cellar/xz/5.2.3... (92 files, 1.4MB) 192:~ nissehult$ Tack ändå! Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 13 april, 2018 Författare Share Postad 13 april, 2018 (redigerade) 1 timme sedan, Alix säger: Verkar som programmet inte är installerat där (xz: command not found). När du har installerat xz (eller oavsett program). Kolla med: which xz # blir t ex: $ which xz /opt/local/bin/xz Ibland, ett par enstaka gånger har det hänt att allt ser bra ut, men att den inte vill funka (ofta i samband med uppdateringar av ett program), så får man köra: hash /sökväg/till/program Men det verkar mer som att den inte hittar alls i sökvägen, så frågan är väl om Hombrew lägger den på något annat ställe då - och man får lägga till lite till PATH manuellt. Man kan alltid testa att starta om Terminal med, så laddar den in alla resurser vid programstart. 1 timme sedan, Alix säger: Jag förstår mig inte på detta, jag kastar in handduken. Men tack för att du och ni försöker. 16 minuter sedan, Alix säger: Last login: Fri Apr 13 11:35:03 on ttys000 192:~ nissehult$ brew remove xz Uninstalling /usr/local/Cellar/xz/5.2.3... (92 files, 1.4MB) 192:~ nissehult$ Tack ändå! Synd att du var så snabb med att ge upp. Hann inte se vad som blev fel innan du la av. Eftersom du har Homebrew så tror jag nog du får xz installerat ändå, vad det lider. Ligger ofta med som dependency till andra program. Redigerad 13 april, 2018 av modEric 1 Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster