Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Банально кажется, а что-то не получается :( Есть файлы типа заголовок запись1 запись2 запись3 .... Надо чтоб получилось в итоге заголовок в одном файле, все остальное в другом. 1-ая запись сдледует прямо за заголовком, при этом заголовок занимает 60 символов. Файлы специфические и большого размера ниче не получается сделать, пытался и sed и awk применять :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:10 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
А зачем тут sed и awk, когда достаточно head и tail?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:17 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Ну, помогите, подскажите вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:19 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Ну заголовок вытащить: Код: plaintext Вытащить всё, кроме первых 60 байт... Тупо в лоб, узнать размер файла, отнять 60 и вывести Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:32 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
DocAlНу заголовок вытащить: Код: plaintext Вытащить всё, кроме первых 60 байт... Тупо в лоб, узнать размер файла, отнять 60 и вывести Код: plaintext что-то ругается на опцию -c :( testsrv:/home/dbldr/temp/parsing/input> head -c 60 filename head: illegal option -- c usage: head [-n #] [-#] [filename...] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:37 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
А что за система-то? Ну мб head --bytes=60 тогда... Или man head.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:41 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Ну или dd if=infile of=head bs=60 count=1 dd if=infile of=rest bs=60 skip=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:43 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
А кстати да, dd тут будет удобнее, пожалуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:45 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
DocAlА что за система-то? Ну мб head --bytes=60 тогда... Или man head.) Система SunOS 5.10 man говорит только об опции -n. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:50 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
И вообще эти все файлы странные какие-то или я что не понимаю, но вот взгляните: testsrv:/home/dbldr/temp/parsing/input> head -n 1 filename ,slu10a0001673531|1|1| 4-12-06|13:37:59.0| 4-12-06|13:38: 9.0| 4-12-06|13:38:32.0|38214|79088683963|0|79088672953|||185|pps|16|53|79088672953|38214|:Asia/Yekaterinbur||23.000000|2|0.000000||0.000000|0|7|79088672953||||||250175000451443|96||4319|23.000|0.0000|0.0000|0.0000||||||200000000000001|100100010030003|33|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0.000000|+|159.497500|0.000000|2|0.000000|0.000000|1|0.000000|0.000000|1|0.000000|0.000000|4|0.000000|0.000000|3|0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|||1|0|32||0||0||73462348988|250175000451443|10||0|0|0|0|0||||||||||||||||2||0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|1|0.000000|0.000000|0.000000||| то есть заголовок выглядит как ,slu10a , а когда делаю more , то : testsrv:/home/dbldr/temp/parsing/input> more IPbill.slu10a.6494.1144827512.bip72.0000437426 ,slu10a000167353000016848931144827512114482818200000113640001673530|1|1| 4-12-06|13:38:22.0||| 4-12-06|13:38:32.0|37619|79221290156|0|79024401776|||122|pps|2 0|53|79024401776|37619|:Asia/Yekaterinbur||0.000000|2|0.000000||0.000000|0|8|79024401776||||||250170530012357|95||4319|0.0000|0.0000|0.0000|0.0000||||||20000 0000000008|100100010040007|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.000000 0|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0.000000|+|11.986800|0.000000||0.000000|0.00000 0||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|||1|0|169||0 ||0||73469010000|250170530012357|10||||||||||||||||||||||2||0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|1|0.000 000|0.000000|0.000000||| тут заголовок выглядит как ,slu10a00016735300001684893114482751211448281820000011364 с чем связано это? Возможно со спецификой команды head, но как тогда корректно вырезать чтоб ничего не потерять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 08:56 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Так вам же предложили вариант с использованием dd? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 09:09 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Да, я это написал раньше, чем прочитал тот пост с dd, получилось, все работает, спасибо, будут вопросы обращусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 09:18 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Все-таки вопрос актуален, порезал я файлы как надо, загружаю их в таблицы а там заголовок не весь, как в примере ниже, вместо нужного slu10a00016735300001684893114482751211448281820000011364 в таблице вижу slu10a, может что-то с кодировкой связано? И вообще эти все файлы странные какие-то или я что не понимаю, но вот взгляните: testsrv:/home/dbldr/temp/parsing/input> head -n 1 filename ,slu10a0001673531|1|1| 4-12-06|13:37:59.0| 4-12-06|13:38: 9.0| 4-12-06|13:38:32.0|38214|79088683963|0|79088672953|||185|pps|16|53|79088672953|38214|:Asia/Yekaterinbur||23.000000|2|0.000000||0.000000|0|7|79088672953||||||250175000451443|96||4319|23.000|0.0000|0.0000|0.0000||||||200000000000001|100100010030003|33|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0.000000|+|159.497500|0.000000|2|0.000000|0.000000|1|0.000000|0.000000|1|0.000000|0.000000|4|0.000000|0.000000|3|0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|||1|0|32||0||0||73462348988|250175000451443|10||0|0|0|0|0||||||||||||||||2||0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|1|0.000000|0.000000|0.000000||| то есть заголовок выглядит как ,slu10a , а когда делаю more , то : testsrv:/home/dbldr/temp/parsing/input> more IPbill.slu10a.6494.1144827512.bip72.0000437426 ,slu10a000167353000016848931144827512114482818200000113640001673530|1|1| 4-12-06|13:38:22.0||| 4-12-06|13:38:32.0|37619|79221290156|0|79024401776|||122|pps|2 0|53|79024401776|37619|:Asia/Yekaterinbur||0.000000|2|0.000000||0.000000|0|8|79024401776||||||250170530012357|95||4319|0.0000|0.0000|0.0000|0.0000||||||20000 0000000008|100100010040007|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.000000 0|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0|0.0000000|0.000000|+|11.986800|0.000000||0.000000|0.00000 0||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|0.000000||0.000000|||1|0|169||0 ||0||73469010000|250170530012357|10||||||||||||||||||||||2||0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|0.000000|1|0.000 000|0.000000|0.000000||| тут заголовок выглядит как ,slu10a00016735300001684893114482751211448281820000011364 с чем связано это? Возможно со спецификой команды head, но как тогда корректно вырезать чтоб ничего не потерять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 08:28 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Так вы же уже, вроде, dd используете, причём тут head? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 09:31 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Да, совершенно верно, порезал я с помощью dd, просто в заголовке файла есть нулевые байты после которых есть нужная информация, которую я не могу загрузить в оракл скллоадером, он скорее всего считает первый нулевой байт, как окончание строки и все остальное отбрасывает, но это скорее всего вопрос уже в раздел Оракл, но от совета не откажусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 10:38 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Еще вопрос возник, как заменить с помощью shell нулевые байты чем-либо другим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2006, 07:04 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Действительно, помогло man tr :) Но дело в том, что заголовки файлов несколько разные по размеру, то есть нумеруются они в зависимости от того, откуда пришли, например, slu21a и slu1a, то есть размер файлов может различаться на один байт, поэтому когда я хочу порезать с помощью dd дальше файл не получается возможным задать bs какого-любо значения, напрашиватеся вариант, 2-х алгоритмов, в зависисмости от размера файла, но как это проверить, чем ? Можно наверено с помощью ls, но как - то не красиво по-моему, подскажите, как проще сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2006, 13:00 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
,slu10a000167353000016848931144827512114482818200000113640001673530 ,slu1a000167353000016848931144827512114482818200000113640001673530 надо порезать на ,slu10a 000167353 0000168489 3114482751 21144828182 0000011364 0001673530 и ,slu1a 000167353 0000168489 3114482751 21144828182 0000011364 0001673530 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2006, 13:03 |
|
||
|
скрипт на shell
|
|||
|---|---|---|---|
|
#18+
Ну раз такое дело, резать надо не по байтам, а как-то иначе. Есть же какой-то признак окончания заголовка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2006, 20:30 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33856819&tid=1346687]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 429ms |

| 0 / 0 |
