powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / разбить файл на части
17 сообщений из 17, страница 1 из 1
разбить файл на части
    #33264068
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть файл pdf, размер 27 метров, его нужно порезать на 3-и части, как это сделать?
Пытался при помощи zip, gzip, tar - не получилось :(
...
Рейтинг: 0 / 0
разбить файл на части
    #33264086
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
man split
<<skip>>
split - split a file into pieces
<<skip>>
man tar
<<skip>>
L, --tape-length N
              change tapes after writing N* 1024  bytes
<<skip>>

http://surgutnet.ru
...
Рейтинг: 0 / 0
разбить файл на части
    #33264263
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничего не получается, можно пример, как это сделать?
...
Рейтинг: 0 / 0
разбить файл на части
    #33264292
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чему там не получаться? :-)

Код: plaintext
split -b `expr  27  /  3 `k filename
...
Рейтинг: 0 / 0
разбить файл на части
    #33264316
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$split -b  1024  alert_astro.log.cp.tar.gz
$ ls -la
total  316 
drwxr-xr-x   2  oracle users    4096  Sep  12   16 : 58  .
drwxr-xr-x   8  oracle users    4096  May  27    2004  ..
-rw-r--r--  1 oracle dba   138637 Sep 12 16:50 alert_astro.log.cp
-rw-r--r--  1 oracle dba     4196 Sep 12 16:56 alert_astro.log.cp.tar.gz
-rw-r--r--  1 oracle dba     1024 Sep 12 16:58 xaa
-rw-r--r--  1 oracle dba     1024 Sep 12 16:58 xab
-rw-r--r--  1 oracle dba     1024 Sep 12 16:58 xac
-rw-r--r--  1 oracle dba     1024 Sep 12 16:58 xad
-rw-r--r--  1 oracle dba      100 Sep 12 16:58 xae
то что начинается на x и есть куски архива...

http://surgutnet.ru
...
Рейтинг: 0 / 0
разбить файл на части
    #33264325
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
склеить:
Код: plaintext
1.
ls x*|sort|while read d; do cat $d >>alert_astro.log.cp.tar.gz; done

http://surgutnet.ru
...
Рейтинг: 0 / 0
разбить файл на части
    #33264452
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oerrсклеить:
Код: plaintext
1.
ls x* | sort | while read d; do cat $d >>alert_astro.log.cp.tar.gz; done

http://surgutnet.ru
таром так и не понял как разбить, сплитом разбил сам, но вот чтобы собрать так, не допетрил бы...
...
Рейтинг: 0 / 0
разбить файл на части
    #33264463
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вопрос, а человек под виндузом, как собрать это может?
...
Рейтинг: 0 / 0
разбить файл на части
    #33264597
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenеще вопрос, а человек под виндузом, как собрать это может?

-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xaa
-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xab
-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xac

copy /B xaa + xab + xac xxx.jpg
...
Рейтинг: 0 / 0
разбить файл на части
    #33264785
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.fun4me.narod.ru wessenеще вопрос, а человек под виндузом, как собрать это может?

-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xaa
-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xab
-rw-r--r-- 1 oracle dba 1024 Sep 12 16:58 xac

copy /B xaa + xab + xac xxx.jpg
спасибо всем
...
Рейтинг: 0 / 0
разбить файл на части
    #33264936
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenтаром так и не понял как разбить, сплитом разбил сам, но вот чтобы собрать так, не допетрил бы...
По поводу tar-а... когда он говорит
Prepare volume #2 for .... and hit return:
нужно получаемый архив переименовать во что-то...
Допустим запустили:
tar cf apache_1.3.33.tar.gz.tar -L 1024 apache_1.3.33.tar.gz
, то переименовываем получаемые файлы apache_1.3.33.tar.gz.tar.1 и птолько после этого жмем "Enter"

http://surgutnet.ru
...
Рейтинг: 0 / 0
разбить файл на части
    #33265253
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
утилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
...
Рейтинг: 0 / 0
разбить файл на части
    #33265273
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oerrсклеить:
Код: plaintext
1.
ls x*|sort|while read d; do cat $d >>alert_astro.log.cp.tar.gz; done

http://surgutnet.ru
А я бы через xargs сделал... А сначала проверил, не понимает ли cat wildcards )
...
Рейтинг: 0 / 0
разбить файл на части
    #33265334
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizутилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
если конечно установлен Cignus...
...
Рейтинг: 0 / 0
разбить файл на части
    #33267527
Alex Roudnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl Oerrсклеить:
Код: plaintext
1.
ls x*|sort|while read d; do cat $d >>alert_astro.log.cp.tar.gz; done

http://surgutnet.ru
А я бы через xargs сделал... А сначала проверил, не понимает ли cat wildcards )

cat не может понимать или не понимать wildcards, это обрабатывается шеллом до вызова cat. Цэ не винда.

Мы вот свас конкурс объявим на тему _кто как распилит и соберет_.

PS. Я в винду просто ставлю cygwin и не мучаюсь дурью с идиотскими виндовыми командами.
...
Рейтинг: 0 / 0
разбить файл на части
    #33267776
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex RoudnevМы вот свас конкурс объявим на тему _кто как распилит и соберет_.

А легко. Пытон на винде есть

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
#!/usr/bin/env python
'''
Usage: splitpea MODE [OPTIONS] FILE

Modes:
  -s, --split            Splits the file specifed by FILE, naming each
                         piece FILE.001, FILE.002, ...
  -j, --join             Joins pieces named FILE.001, FILE.002, ... into
                         a single file named FILE.

Split Mode Options:
  -b SIZE, --bytes=SIZE  Outputs pieces of SIZE bytes, default is 1m.

SIZE may have a multiplier suffix: b for 512 bytes, k for kilobytes, m for
megabytes.

General Options:
  -?, -h, --help         Show this help.
  --version              Show the program version.
  -v, --verbose          Displays more information while running
'''

__title__ = 'splitpea'
__author__ = 'Gordon Tyler'
__version__ = '1.0'

import sys
import os.path
import getopt
import string

def printVersion():
    print '%s version %s' % (__title__, __version__)

def printHeader():
    printVersion()
    print 'Copyright (C) 1999, %s' % __author__
    print 'This may be free distributed under the terms of the GNU GPL.'
    print

def printUsage(errorMessage = ''):
    printHeader()

    if errorMessage != '':
        print 'Error: %s' % errorMessage

    print __doc__
    return

def printError(errorMessage):
    print '%s: %s' % (__title__, message)

def main(args):
    try:
        options, args = getopt.getopt(args, '?hsjb:v', ['help', 'split', 'join', 'bytes=', 'version', 'verbose'])
    except getopt.error, detail:
        printError(detail)
        return

    splitSize =  1048576 
    mode = ''
    verbose =  0 

    for option in options:
        if option[ 0 ] == '-?' or option[ 0 ] == '-h' or option[ 0 ] == '--help':
            printUsage()
            return
        elif option[ 0 ] == '--version':
            printVersion()
        elif option[ 0 ] == '-s' or option[ 0 ] == '--split':
            mode = 'split'
        elif option[ 0 ] == '-j' or option[ 0 ] == '--join':
            mode = 'join'
        elif option[ 0 ] == '-b' or option[ 0 ] == '--bytes':
            suffix = option[ 1 ][- 1 :]
            if string.count('bkm', suffix) >  0 :
                splitSize = int(option[ 1 ][:- 1 ])
                if suffix == 'b':
                    splitSize = splitSize *  512 
                elif suffix == 'k':
                    splitSize = splitSize *  1024 
                elif suffix == 'm':
                    splitSize = splitSize *  1048576 
                else:
                    printUsage('Unrecognised size suffix.')
                    return
            else:
                splitSize = int(option[ 1 ])
        elif option[ 0 ] == '-v' or option[ 0 ] == '--verbose':
            verbose =  1 
            
    if mode == '':
        printUsage('Must specify a mode')
        return
    
    if mode == 'split':
        if len(args) ==  0 :
            printUsage('Must specify a file to split')
            return

        if not os.path.exists(args[ 0 ]):
            printError('%s: No such file' % args[ 0 ])
            return
        
        inputFilename = args[ 0 ]
        
        try:
            input = open(inputFilename, 'rb')
        except IOError, detail:
            printError(detail)
            return

        outputCount =  1 

        try:
            data = input.read(splitSize)
            while (len(data) >  0 ):
                outputFilename = inputFilename + '.%03d' % outputCount

                if verbose >  0 :
                    print 'Writing piece: %s... ' % outputFilename,

                output = open(outputFilename, 'wb')
                output.write(data)
                output.close()
                outputCount = outputCount +  1 
                data = input.read(splitSize)

                if verbose >  0 :
                    print 'done.'
        except IOError, detail:
            printError(detail)

        input.close()
    elif mode == 'join':
        if len(args) ==  0 :
            printUsage('Must specify the original split filename')
            return

        prefix = args[ 0 ]

        try:
            output = open(prefix, 'wb')
        except IOError, detail:
            printError(detail)
            return

        done =  0 
        inputCount =  1 

        while (not done):
            inputFilename = prefix + '.%03d' % inputCount
            if os.path.exists(inputFilename):
                try:
                    if verbose >  0 :
                        print 'Reading piece: %s... ' % inputFilename,
                        
                    input = open(inputFilename, 'rb')
                    data = input.read()
                    output.write(data)
                    input.close()

                    if verbose >  0 :
                        print 'done.'
                except IOError, detail:
                    printError(detail)
                    return

                inputCount = inputCount +  1 
            else:
                done =  1 

        output.close()
        
    return

if __name__ == '__main__':
    main(sys.argv[ 1 :])

...
Рейтинг: 0 / 0
разбить файл на части
    #33270146
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oerr tchingizутилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
если конечно установлен Cignus...
это достаточное условие, но не необходимое.
можно взять гнуутилитис
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / разбить файл на части
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]