The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не работает cat в tar"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Не работает cat в tar"  
Сообщение от Григорий email(??) on 27-Фев-09, 09:51 
[root@server14 projects]# cat log
'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt' 'ATOM/410/ckbm/proe_1/Coordinates.xls' 'ATOM/410/шаблоны/Копия шаброн    2.doc'

[root@server14 projects]# tar -vczpf Superadmin/backup/`date +%F--%H-%M`.tar.gz 'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt' 'ATOM/410/ckbm/proe_1/Coordinates.xls' 'ATOM/410/шаблоны/Копия шаброн    2.doc'
ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt
ATOM/410/ckbm/proe_1/Coordinates.xls
ATOM/410/шаблоны/Копия шаброн    2.doc

[root@server14 projects]# tar -vczpf Superadmin/backup/`date +%F--%H-%M`.tar.gz `cat log`
tar: 'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt': Cannot stat: No such file or directory
tar: 'ATOM/410/ckbm/proe_1/Coordinates.xls': Cannot stat: No such file or directory
tar: 'ATOM/410/шаблоны/Копия: Cannot stat: No such file or directory
tar: шаброн: Cannot stat: No such file or directory
tar: 2.doc': Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

Короче, вот такая проблема - если tar'y подсовывать имена файликов напрямую - всё ок, а если подсовывать cat'ом, то не работает. Где грабли?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Не работает cat в tar"  
Сообщение от phpcoder email(??) on 27-Фев-09, 10:05 
man tar:

       -T, --files-from F
              get names to extract or archive from file F


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Не работает cat в tar"  
Сообщение от Григорий email(??) on 27-Фев-09, 10:18 
>man tar:

[root@server14 projects]# tar -vczpf Superadmin/backup/`date +%F--%H-%M`.tar.gz -T log
tar: 'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt': Cannot stat: No such file or directory
tar: 'ATOM/410/ckbm/proe_1/Coordinates.xls': Cannot stat: No such file or directory
tar: 'ATOM/410/шаблоны/Копия шаброн    2.doc': Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

[root@server14 projects]# head -1 ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt
Џ??>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Не работает cat в tar"  
Сообщение от Григорий email(??) on 27-Фев-09, 10:24 
Вообще, собственно и cat в tar то не нужен... надо:
tar -czpf Superadmin/backup/`date +%F--%H-%M`.tar.gz `find ATOM/410/ -ctime 0 -type f`
Так всё хорошо пакует, но не видет файлов с пробелами в имени. Поэтому, пихаем их в кавычки:
tar -czpf Superadmin/backup/`date +%F--%H-%M`.tar.gz `find ATOM/410/ -ctime 0 -type f | sed 's/^/"/;s/$/"/'`
Тогда получаем: tar: "ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt": Cannot stat: No such file or directory
Хотя в первом варианте, без sed, всё паковалось.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "cat не в tar, а в шеле, шоб ты был здоров"  
Сообщение от Andrey Mitrofanov on 27-Фев-09, 10:27 
>[root@server14 projects]# cat log
>'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt'
>[root@server14 projects]# tar -vczpf Superadmin/backup/`date +%F--%H-%M`.tar.gz `cat log`
>tar: 'ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt': Cannot stat: No such file or directory
>cat'ом, то не работает. Где грабли?

Кавычки в файле не нужны, они нужны "совсем в другом месте".

У тебя же нет директории "'ATOM" и файла "Demo_ЦКБМ_АТОМ_2.ppt'".

Файл - без лишних кавычек, tar - с F, шчастье - в Доме.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "cat не в tar, а в шеле, шоб ты был здоров"  
Сообщение от Григорий email(??) on 27-Фев-09, 10:40 
Без кавычек не будет файлов с пробелами в имени.

Строки:
[root@server14 projects]# head -1 ATOM/410/ckbm/ТЗ/Презентация/Demo_ЦКБМ_АТОМ_2.ppt
Џ??>
Привел не просто так - файл есть.

head -1 `cat log` не работает, если имена файлов указаны в кавычках. Но если без, то не видет файлов с пробелами в именах - как быть?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Ну, не будет, так не будет"  
Сообщение от Andrey Mitrofanov on 27-Фев-09, 11:56 
>Без кавычек не будет файлов с пробелами в имени.

Какие! У Вас!! Проблемы!!! Я ф шоке.

$ mkdir -p test
$ cd test
$ mkdir -p {a,c}\ {b,d}
$ touch {a,c}\ {b,d}/{1,2}\ {3,4}
$ find -type f
./a b/1 3
./a b/1 4
./a b/2 3
./a b/2 4
./a d/1 3
./a d/1 4
./a d/2 3
./a d/2 4
./c b/1 3
./c b/1 4
./c b/2 3
./c b/2 4
./c d/1 3
./c d/1 4
./c d/2 3
./c d/2 4
./file.tgz
$ #find -type f -print0 |xargs -0 tar czf file.tgz
$ #find -type f -print0 |tar cz -f file.tgz --null -T -
$ find -type f |tar czfT file.tgz -
$ ls -l file.tgz
-rw-r--r-- 1 abm abm 246 2009-02-27 11:52 file.tgz
$ tar tvvf file.tgz
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a b/1 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a b/1 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a b/2 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a b/2 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a d/1 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a d/1 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a d/2 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./a d/2 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c b/1 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c b/1 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c b/2 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c b/2 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c d/1 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c d/1 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c d/2 3
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./c d/2 4
-rw-r--r-- abm/abm           0 2009-02-27 11:52 ./file.tgz
$ exit

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Ну, не будет, так не будет"  
Сообщение от Григорий email(??) on 27-Фев-09, 13:12 
Очень благодарен.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Другой пример"  
Сообщение от Григорий email(??) on 27-Фев-09, 10:55 
[root@server14 projects]# ls "ATOM/410/tmp/mirandabo ot.ini"
ATOM/410/tmp/mirandabo ot.ini
Т.е. файл существует.

[root@server14 projects]# ls "ATOM/410/tmp/mirandaboot2.ini"
ATOM/410/tmp/mirandaboot2.ini
И этот существует.

Сложим имена в файлик:
[root@server14 projects]# cat log
ATOM/410/tmp/mirandaboot2.ini
ATOM/410/tmp/mirandabo ot.ini

[root@server14 projects]# ls `cat log`
ls: ATOM/410/tmp/mirandabo: No such file or directory
ls: ot.ini: No such file or directory
ATOM/410/tmp/mirandaboot2.ini
Один видим, второй с пробелами бьётся на два.

Заключим в кавычки, чтобы файлы с пробелами не бились на два файла.
[root@server14 projects]# cat log
"ATOM/410/tmp/mirandaboot2.ini"
"ATOM/410/tmp/mirandabo ot.ini"

[root@server14 projects]# ls `cat log`
ls: "ATOM/410/tmp/mirandaboot2.ini": No such file or directory
ls: "ATOM/410/tmp/mirandabo: No such file or directory
ls: ot.ini": No such file or directory

Не видим ничего(( Кто знает какую-нить чудо особенность?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Другой пример"  
Сообщение от vic (??) on 27-Фев-09, 11:44 
>Заключим в кавычки, чтобы файлы с пробелами не бились на два файла.
>[root@server14 projects]# ls `cat log`
>Не видим ничего(( Кто знает какую-нить чудо особенность?

поднимите мне веки <c>
cat log | xargs ls


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру