[UPDATE !] Splitten von Dateien - UPDATE auf 1.3

Post Reply
Message
Author
User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

[UPDATE !] Splitten von Dateien - UPDATE auf 1.3

#1 Post by RSH »

Hallo,

ich suche ein Tool oder einen Konsolenbefehl für die o.g. Aufgabe. Das Tool sollte unabhängig vom Dateiinhalt und nach Möglichkeit ohne großen Zeitaufwand auch größere Dateien splitten können.

Kennt jemand ein solches Tool oder einen solchen Konsolenbefehl?

Gruß,

RSH
Last edited by RSH on Thu 08 Dec 2011, 22:54, edited 8 times in total.

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Splitten von Dateien

#2 Post by L18L »

Code: Select all

# split --help
Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic just before each
                            output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

Report bugs to <bug-coreutils@gnu.org>.
#
:wink:

http://de.wikipedia.org/wiki/Split_%28Unix%29

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#3 Post by RSH »

Hallo L18L,

danke für Deine schnelle Antwort. Hab's gefunden. Zusammenfügen mit cat.

Code: Select all

sh-3.00# cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s), or standard input, to standard output.

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonempty output lines
  -e                       equivalent to -vE
  -E, --show-ends          display $ at end of each line
  -n, --number             number all output lines
  -s, --squeeze-blank      suppress repeated empty output lines
  -t                       equivalent to -vT
  -T, --show-tabs          display TAB characters as ^I
  -u                       (ignored)
  -v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB
      --help     display this help and exit
      --version  output version information and exit

With no FILE, or when FILE is -, read standard input.

Examples:
  cat f - g  Output f's contents, then standard input, then g's contents.
  cat        Copy standard input to standard output.

Report cat bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report cat translation bugs to <http://translationproject.org/team/>
sh-3.00# 
WOW!

Die Konsole ist wirklich toll. Ist das alles die busybox von Bruce Perens?

Gruß,

RSH

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

#4 Post by L18L »

RSH wrote: Die Konsole ist wirklich toll. Ist das alles die busybox von Bruce Perens?

Code: Select all

# busybox    
BusyBox v1.17.2 (2011-10-03 16:04:49 GMT-8) multi-call binary.
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: function [arguments]...

	BusyBox is a multi-call binary that combines many common Unix
	utilities into a single executable.  Most people will create a
	link to busybox for each function they wish to use and BusyBox
	will act like whatever it was invoked as.

Currently defined functions:
	[, [[, acpid, addgroup, adduser, ash, basename, bbconfig, beep, blkid,
	bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod, chown, chpasswd, chroot,
	chvt, cksum, clear, cmp, cp, cpio, crond, crontab, cryptpw, cut, date,
	dc, dd, deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay,
	diff, dirname, dmesg, dnsdomainname, dos2unix, dpkg, dpkg-deb, du,
	dumpkmap, dumpleases, echo, ed, egrep, eject, env, expand, expr, false,
	fbset, fbsplash, fdflush, fdformat, fdisk, fgconsole, fgrep, find,
	findfs, flock, fold, free, freeramdisk, fsync, ftpget, ftpput, fuser,
	getopt, getty, grep, gunzip, gzip, halt, hd, hdparm, head, hexdump,
	hostid, hostname, httpd, hwclock, id, ifconfig, ifdown, ifplugd, ifup,
	init, inotifyd, insmod, ionice, ip, ipaddr, ipcalc, iplink, iproute,
	iprule, iptunnel, kbd_mode, kill, killall, klogd, length, less, ln,
	loadfont, loadkmap, logger, login, logname, logread, losetup, ls,
	lsmod, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs, man, md5sum,
	mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.reiser, mkfs.vfat, mknod,
	mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint,
	mv, nameif, nc, netstat, nice, nohup, nslookup, od, openvt, passwd,
	patch, pgrep, pidof, ping, ping6, pipe_progress, pivot_root, pkill,
	poweroff, printenv, printf, ps, pscan, pwd, rdate, rdev, readahead,
	readlink, realpath, reboot, renice, reset, resize, rev, rfkill, rm,
	rmdir, rmmod, route, rpm, rpm2cpio, rtcwake, run-parts, sed, seq,
	setconsole, setfont, setkeycodes, setlogcons, sh, sha1sum, sha256sum,
	sha512sum, showkey, sleep, sort, split, start-stop-daemon, stat,
	strings, stty, su, sulogin, sum, swapoff, swapon, switch_root, sync,
	sysctl, syslogd, tac, tail, tar, tee, telnet, test, tftp, time,
	timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize,
	udhcpc, udhcpd, umount, uname, uncompress, unexpand, uniq, unix2dos,
	unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode, uuencode, vi,
	vlock, volname, watch, wc, wget, which, whoami, xargs, xz, xzcat, yes,
	zcat

# 
:idea:

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

PROBLEM

#5 Post by RSH »

Hallo,

die Befehle split und cat funktionieren wunderbar. Arbeite gerade an einem Script, das für ein ISO über Rechtsklick die Möglichkeit zum splitten anbietet und hierbei einen Ordner erstellt mit dem Namen des ISOs im Ordnernamen.

Ordner wird erstellt, ISO wird aufgeteilt. Nur bekomme ich die ISO-teile nicht in den Ordner geschrieben. Wie geht das?

Code: Select all

#!/bin/bash
# Original Code written for conversion_mp3 by Don White (don570)  Aug 2011
# re-used by RSH for rightclick_split_file-1.0 Okt 2011

APPDIR="`dirname $0`"
[ "$APPDIR" = "." ] && APPDIR="`pwd`"
export APPDIR="$APPDIR"


export APPDIR=`dirname $0`
[ $APPDIR = '.' ] && export APPDIR=`pwd`

#set language
TMP="`ls -1 $APPDIR/locals/ | grep ${LANG%.*}`"
. $APPDIR/locals/en_US:english #always run to fill gaps in translation
#fallback to macrolanguage if available (ISO 639-1 two letter code: en, es, fr, etc.)
[ -z $TMP ] && TMP="`ls -1 $APPDIR/locals/ | grep ${LANG%_*}:`" && echo $TMP
[ "$TMP" != "en_US:english" ] && . $APPDIR/locals/$TMP 2> /dev/null

z=`echo "$1" | sed "s/\/$//"`
t="${z%.*}"

DIALOG=Xdialog

$DIALOG --wrap --title "$LOC200"   --yesno "$LOC400\n$LOC401\n" 0 0
if [ "$?" -eq "1" ] ;then 
exit 0
fi

#------------------------------------------------------------------------------------

# hier passiert es, oder soll es passieren
mkdir "$t.iso.files"
split -b "20m" "$1" "$t.isopart-"
#split -b "20m" "$1" "$t.isopart-" funktioniert, aber ohne die Dateien in den erzeugten Ordner zu schreiben, da sollen sie aber hin

#------------------------------------------------------------------------------------

Xdialog --title "$LOC200"   --wrap --screen-center --center --no-buttons --msgbox ".           $LOC300           . 

$LOC202"   17 65 100 

exit 0

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Re: PROBLEM

#6 Post by L18L »

RSH wrote:Hallo,

die Befehle split und cat funktionieren wunderbar. Arbeite gerade an einem Script, das für ein ISO über Rechtsklick die Möglichkeit zum splitten anbietet und hierbei einen Ordner erstellt mit dem Namen des ISOs im Ordnernamen.

Ordner wird erstellt, ISO wird aufgeteilt. Nur bekomme ich die ISO-teile nicht in den Ordner geschrieben. Wie geht das?

...

#------------------------------------------------------------------------------------

# hier passiert es, oder soll es passieren
mkdir "$t.iso.files"
split -b "20m" "$1" "$t.isopart-"
#split -b "20m" "$1" "$t.isopart-" funktioniert, aber ohne die Dateien in den erzeugten Ordner zu schreiben, da sollen sie aber hin

#------------------------------------------------------------------------------------

Xdialog --title "$LOC200" --wrap --screen-center --center --no-buttons --msgbox ". $LOC300 .

$LOC202" 17 65 100

exit 0
probier doch mal >
split -b "20m" "$1" "$t.isopart-" > ordner/datei

und laß bitte den Loc... Quatsch
"$(gettext 'English message that can be translated ')"
ist doch viel netter :D

Gruß
L

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#7 Post by RSH »

Hallo L18L,
probier doch mal >
split -b "20m" "$1" "$t.isopart-" > ordner/datei

und laß bitte den Loc... Quatsch
"$(gettext 'English message that can be translated ')"
ist doch viel netter.
Zuerst kurz zu dem "Loc... Quatsch" und zu meiner allgemeinen Herangehens- und Arbeitsweise:

Die "Credits" für den LocQuatsch gehen (sorry, don570) an eben jenen don570. Von ihm ist praktisch die gesamte Datei sowie komplette Ordnerstruktur. Ich übernahm sie, da sie als Rechtsklick-funktion angelegt ist und von der Struktur dem Aufbau in /usr/local/apps/ entspricht. Von mir ist nur der Teil zwischen den gestrichelten Linien. Ich analysiere diese skriptbinären Dateien zuerst einmal, und checke, was passiert, wenn ich etwas ändere und kopiere erst einmal das, womit ich etwas anfangen und worauf ich aufbauen kann. Ich bin also nur (Goethe oder Schiller sagten wohl einmal etwas in der Art) ein "kreativer Dieb".

Zu Deinem Vorschlag:

Ich denke "ordner/datei" ist in diesem Falle "hart codiert". Ich bekomme aber den Namen des ISOs über:

Code: Select all

z=`echo "$1" | sed "s/\/$//"`
t="${z%.*}"
z empfängt wohl den Namen vom Mausklick und konfiguriert/separiert irgend etwas daran und t liefert mir wohl den Pfad incl Dateiname ohne Extension.

In

Code: Select all

$t.isopart-
steht dannn der vollständige Name des ISOs ohne Extension ($t). Der Teil nach dem Punkt ist der Teil, den ich an die Namen der aufgeteilten Dateien anhänge. Aus lupu525.iso wird somit eine Teildatei lupu525.isopart-. Der - dient zum Abtrennen der Counter (aa,ab,ac...zz) die split anhängt.

Ich muß also irgenwie den reinen Dateinamen des ISOs in einer Variablen erhalten und diese Variable bzw. diesen Dateinamen in den kompletten Pfad des erzeugten Ordners bringen.

Meine.Vorstellung war $t.iso.files (der erzeugte Ordner) mit $t.isopart- (der Name einer geteilten Datei) zu kombinieren, a'la: "$t.iso.files/$t.isopart-" oder auch "$t.iso.files%$t.isopart-". Was aber nicht funktionieren kann, wie mir später auffiel. Denn der komplette Pfadname steckt ja in beiden "$t". Ich schreibe die Dateien auf diese Weise also bestenfalls ins Nirgendwo - wenn überhaupt.

Es gibt sicher eine Funktion, mit der man Teile eines Pfad- und Dateinamens aus demselben in einer Variablen speichern und dann in einen anderen String (Pfadnamen) einfügen kann. Aber ich kenne die leider nicht.

Vielleicht weißt Du weiter?

Gruß, RSH

P.S.

Trotz dem ganzen LocQuatsch finde ich die Arbeiten von don570 wirklich gut. Er hat z.B. ein schönes Rightclick-Tool erstellt, daß Du Dir 'mal ansehen solltest. http://murga-linux.com/puppy/viewtopic.php?t=67013

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#8 Post by RSH »

Ich habe Dir mal die in PASCAL vorhandenen Stringfunktionen aufgeschrieben. Vielleicht hilft das noch zusätzlich.

concat

verknüpft beliebig viele Zeichen oder Strings miteinander

Aufruf:

s1:='User';
s2:='RSH'
concat(s1,' ',s2)

ergibt den String bzw. die Zeichenkette "User RSH".



insert

fügt einen String an einer beliebigen Stelle in einen String ein

Aufruf:

s1::'Hallo RSH';
s2:='User';
insert(s2,s1,Position)

die Position kann mit "pos" ermittelt werden

position:integer;

position:=pos(' RSH',s1) ergibt 6 (die Position des Leerzeichens)

insert(s2,s1,Position) ergibt also "Hallo User RSH".

Alles klar?

Gruß, RSH

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

#9 Post by L18L »

RSH wrote: s1:='User';
s2:='RSH'
concat(s1,' ',s2)

ergibt den String bzw. die Zeichenkette "User RSH".
shell:

Code: Select all

# s1='User'
# s2='RSH'
# echo "$s1 $s2"
User RSH
#
BaCon:

Code: Select all

s1$='User'
s2$='RSH'
CONCAT$(s1$, " ", s2$)
position:=pos(' RSH',s1) ergibt 6 (die Position des Leerzeichens)

Code: Select all

pos=INSTR("Hallo RSH", " RSH")

Code: Select all

"$t.iso.files/$t.isopart-" 
Was ist vaiabler Name und was nicht?
Vielleicht so? Name der Variablen in geschweifter Klammer{}

Code: Select all

"${t}.iso.files/${t}.isopart-" 
:)

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#10 Post by RSH »

Das ist ja die reinste Code-Battle hier...

Variabler Name ist: $t. denn dieser Teil wird während des Programmlaufs ermittelt, während iso.files bzw. isopart meine (hart codierten) Vorgaben sind also nicht während des Programmlaufs ermittelt werden. Diese bleiben immer als iso.files oder ispart im Ordner bzw. Dateinamen einer gesplitteten Datei. $t. ist jedoch inhaltlich mit der Datei unter meinem Rechtsklick gefüllt (also Pfad- und Dateiname dort abgespeichert).

Zur Erklärung: eine Variable, im SInne von PASCAL, ist einfach nur ein Speicherplatz für einen zuvor zu definierenden Datentyp. Der Datentyp String z.B. ist ein Standard-datentyp und muß somit nicht mehr definiert werden. In der Anwendung bedeutet dies, das ich den jeweiligen Wert einer Variablen während des Programmlaufs nicht nur auslesen sondern auch beliebig oft beschreiben und somit damit arbeiten kann (variabel eben, nicht konstant oder "hart codiert").

Natürlich nur solange, wie ich dem vereinbarten Datentyp bei der Verarbeitung entspreche.

Nach meinem Verständnis bringt

Code: Select all

# s1='User'
# s2='RSH'
# echo "$s1 $s2"
User RSH
#
die Zeile "User RSH" auf den Bildschirm. Sie soll aber irgendwo gespeichert sein, sodaß ich den Wert auslesen, verändern und wieder dorthin speichern kann.

Vielleicht in der Art: echo rueckgabe="$s1 $s2"

???

Und dann müßte ich in rueckgabe eine position (pos) ermitteln köönen, um dort Teile des Strings löschen und neue Stringteile einfügen zu können.

Also z.B. delete(s1,pos,4)

Lösche aus s1 ab pos (5) 4 Zeichen - aus "User RSH" wird "User".

Und dann eben wieder insert(s1,s2,pos).

Ich benötige ja für das zu schreibende ISO den Pfad- und ISO-Dateinamen, für die auszulesenden Dateien im jeweiligen Ordner benötige ich aber den vollständigen Pfad des Ordners mit den gesplitteten Dateien sowie den Teil des Dateinamens einer gesplitteten Datei, den ich beim splitten angehängt habe (der Teil vor dem Counter, den split anhängt).

Nur dann bin ich über den Rechtsklick so frei, jedes irgendwo steckende ISO splitten und jeden sonstwo steckenden Ordner mit gesplitteten Dateien wieder in ein ISO verwandeln zu können.

Tja

emil
Posts: 633
Joined: Tue 10 Nov 2009, 08:36
Location: Austria
Contact:

#11 Post by emil »

Code: Select all

#!/bin/sh
FILE=test.iso
DIR=test
split -b "20m" $FILE ./$DIR/$FILE-
funktioniert bei mir

Für die Kommandozeile kann "mysplit" nützlich sein:

Code: Select all

#!/bin/sh
split -b "20m" $1 ./$2/$1-

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#12 Post by RSH »

Huuuh,

bis ich das alles abgearbeitet habe, werde ich erst einmal "mein" unrsprüngliches Skript verwenden. So oft muß ich keine größeren Dateien splitten und für den Zusammenbau habe ich ein Skript geschrieben, das ich mit in den Ordner kopiere. Mit einem Klick auf dieses Skript, das natürlich für jedes aufgeteilte ISO manuell angepaßt werden muß, wird das ISO im selben Ordner wieder zusammengesetzt.

Bis ich ein tragfähiges Resultat für meine eigentliche Idee der Umsetzung oder (wahrscheinlich eher) noch Fragen habe, melde ich mich wieder.

Bis dahin erst einmal vielen Dank, für Deine aktive Beteiligung, L18L und natürlich auch an Dich, emil.

Gruß, RSH

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#13 Post by RSH »

Hallo,

da bin ich wieder. Ich denke, ich habe nun den ungefähren Überblick, was ich zu tun habe. Ich benötige allerdings noch ein paar Equivalente zu einigen PASCAL-funktionen. Helfen würde sicher auch ein Hinweis, wo ich eine Befehlsübersicht dieser Skriptsprache finde (wie heißt diese Skriptsprache eigentlich?).

Also, bekommen habe ich bisher folgende Funktionen:
PASCAL: (strings zusammenfügen)

s1:='User';
s2:='RSH'
concat(s1,' ',s2)

ergibt den String bzw. die Zeichenkette "User RSH".

Equivalent:

s1='User'
s2='RSH'
echo "$s1 $s2"
ergibt den String bzw. die Zeichenkette "User RSH"
speichern tue ich es dann wohl mit s=echo "$s1 $s2" (o.s.ä. bitte einmal genau hinsehen - syntax, fehlende zeichen? " ' ' usw.?)

PASCAL: (position eines zeichens ermitteln)

position:=pos(' RSH',s1) position enthält 6 (die Position des Leerzeichens)

Equivalent:

pos=INSTR("Hallo RSH", " RSH") ergibt 6 (die Position des Leerzeichens)
benötigt wird noch:

PASCAL:

n:=length(s1) n beinhaltet dann den wert 4, die Länge des Strings s1

delete(s1,start,anz)
delete(s1,3,2) ergibt den String "Us" (ab 3. Stelle zwei Zeichen gelöscht)

insert(s1,'n',2) aus s1 (User) wird s1 (Unser)
Hoffe, jemand kann mir weiterhelfen. Vielleicht L18L?

Gruß, RSH

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#14 Post by rhadon »

speichern tue ich es dann wohl mit s=echo "$s1 $s2"
es langt s="$s1 $s2".

Bezüglich Zeichenanzahl und String teilen, helfen dir vielleicht diese paar Zeilen weiter:

Code: Select all

#test2.sh
file="savefile.3fs"
echo "file="$file

count=${#file}
num=$[${#file}-4]
extnum=$[$count-$num]

echo "count="$count
echo "num="$num
echo "extnum="$extnum

echo "ext="${file:$num}
echo "name="${file:0:$num}
ext=${file:$num}
name=${file:0:$num}
#.BKP-`date +%y.%m.%d-%H.%M`
a=$name".BKP`date +%y%m%d-%H.%M`"$ext
echo "a="$a
Allgemein zum Bash scripting helfen dir vielleicht
Advanced Bash-Scripting Guide und Bash Guide for Beginners weiter. Findest du u. a. hier. Auch dieser Thread könnte interessant für dich sein.

Hoffe mal wieder, es hilft etwas,
Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#15 Post by RSH »

Hallo, rhadon.

Ooohhhhh, das wird es ganz sicher. Man sollte nicht um Hlfe bitten, es könnte in Arbeit ausarten.:D

Habe mir die Links gerade mal angesehen und gleich ein paar .pdf heruntergeladen. Die werde ich am Montag erstmal ausdrucken und dann kann ich auf gewohnte Weise arbeiten - nämlich mit gedruckter Dokumentation. Ist doch irgendwie besser und geht schneller, als das nervige durch-tausende-von-Fenstern-geklicke, auf der Suche nach Funktionen.

Ich war mit diesem Thema auch im englischsprachigen Teil unterwegs und erhielt dort auch einige nützliche Hinweise, so daß ich zuversichtlich bin, mit der nun zur Verfügung stehenden Information und Dokumentation mein Vorhaben verwirklichen zu können. Das .pet gibt's dann irgendwann hier.

Danke an Dich, emil, PANZERKOPF, big_bass und besonders L18L

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#16 Post by RSH »

Hallo,

das war ein kleines Stück Arbeit, aber es ist vollbracht. Ich darf vorstellen: rightclick_split_file-1.0.pet, ein Tool, mit dem man über einen Rechtsklick beliebige Dateien splitten (aufteilen) kann. Dabei ist es völlig egal, wo diese Dateien sich befinden. Es kann immer nur eine Datei aufgeteilt werden. Vordefiniert sind .iso, .sfs, .mpg (video) und .avi (msvideo) Dateien.

Um diese Funktion auch auf andere Dateien anwenden zu können, einfach den "Split File"-Link im Ordner /root/.config/rox.sourceforge.net/OpenWith/.application_x-cd-image in den gewünschten Ordner in /root/.config/rox.sourceforge.net/OpenWith kopieren. Aber ich denke, mit den vordefinierten Dateitypen, sind die wichtigsten abgedeckt.

Das Tool erstellt dort, wo sich die Datei befindet, einen Ordner mit dem Namen der Datei sowie dem Anhängsel .files. Im Ordner werden die Dateien mit dem Originalnamen sowie dem Anhängsel .part- gespeichert. Dieser Name erhält noch ein Anhängsel, das durch das splitten entsteht und eine fortlaufende Buchstabenkombination enthält (aa,ab,ac,ad...). Dies, damit klar ist, in welcher Reihenfolge die Dateien wieder zusammengefügt werden.

Aus Name.iso werden also der Ordner Name.iso.files und die Teildateien Name.iso.part-aa, ...-ab, ...-ac usw.

Im Ordner wird zusätzlich ein Skript erstellt, das den Befehl zum Zusammenbau der ursprünglichen Datei enthält. Dieses Skript wird durch einen einfachen Mausklick ausgeführt und erstellt danach die ursprüngliche Datei im übergeordneten Verzeichnis.

Das Script ist vollständig kommentiert, in englisch und deutsch, so daß sich garantiert auch ein Blick in's Innere desselben lohnt. Als ROX-App angelegt, findet man das Script natürlich unter /usr/local/split_file.

Danke an: big_bass, don570, emil, L18L, PANZERKOPF & rhadon; Ihr seid im Script verewigt.

Grüße an alle,

RSH
Attachments
rightclick_split_file-1.0.pet
Dateien über einen Rechtsklick splitten (split files with rigth-click-action)
(9.59 KiB) Downloaded 465 times

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#17 Post by RSH »

Hallo.

Update: 07.12.2011

rightclick_split_file-1.3.pet baut nun ein wesentlich komfortableres Script zum Zusammenbau der Originaldatei.

- Meldung nach getaner Arbeit
- Rebuild Script nun nach der Originaldatei benannt (plus: .sh)
- die Originaldatei wird nun im Verzeichnis der Dateiteile zusammengebaut
- die Originaldatei kann nun an jedem beliebigen Ort zusammengebaut werden (solange die Dateiteile und das Rebuild Script im selben Verzeichnis gespeichert sind)

RSH
Attachments
rightclick_split_file-1.3.pet
(10.18 KiB) Downloaded 784 times
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

Ich legte das Puppy pet Paket in der 'Utilities'-Bereich

#18 Post by don570 »

Ich legte das Puppy pet Paket in der 'Utilities'-Bereich des Forums.
Es hat eine Menge Potenzial.

Es hilft den Nutzern, die ihre eigenen Puppy ISO zu erstellen
and darauf verteilen.


http://murga-linux.com/puppy/viewtopic. ... 066#652066

__________________________

Post Reply