Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / разбить файл на части / 17 сообщений из 17, страница 1 из 1
12.09.2005, 13:42:07
    #33264068
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
Есть файл pdf, размер 27 метров, его нужно порезать на 3-и части, как это сделать?
Пытался при помощи zip, gzip, tar - не получилось :(
...
Рейтинг: 0 / 0
12.09.2005, 13:47:57
    #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
12.09.2005, 14:40:51
    #33264263
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
ничего не получается, можно пример, как это сделать?
...
Рейтинг: 0 / 0
12.09.2005, 14:49:49
    #33264292
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
чему там не получаться? :-)

Код: plaintext
split -b `expr  27  /  3 `k filename
...
Рейтинг: 0 / 0
12.09.2005, 15:00:01
    #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
12.09.2005, 15:03:21
    #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
12.09.2005, 15:46:01
    #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
12.09.2005, 15:49:16
    #33264463
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
еще вопрос, а человек под виндузом, как собрать это может?
...
Рейтинг: 0 / 0
12.09.2005, 16:32:46
    #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
12.09.2005, 17:34:52
    #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
12.09.2005, 18:54:59
    #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
13.09.2005, 01:30:11
    #33265253
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
утилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
...
Рейтинг: 0 / 0
13.09.2005, 02:25:10
    #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
13.09.2005, 06:25:27
    #33265334
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
tchingizутилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
если конечно установлен Cignus...
...
Рейтинг: 0 / 0
13.09.2005, 22:19:59
    #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
14.09.2005, 08:48:10
    #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
15.09.2005, 02:28:08
    #33270146
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить файл на части
Oerr tchingizутилита dd умеет разбивать на части и собирать.
вод виндюками она есть.
если конечно установлен Cignus...
это достаточное условие, но не необходимое.
можно взять гнуутилитис
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / разбить файл на части / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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