Kona-chan 09.01.2011 11:27 Mendoza-desktop

Простой вопрос. Есть файл с содержимым:

a
b
c
d
e
f

Нужно получить файл с содержимым:

ad
be
cf

Как такое реализовать, например?

?
1. werehuman 09.01.2011 11:31 lithium

мопед не твой?

2. Kona-chanwerehuman /1 09.01.2011 11:31 Mendoza-desktop

К сожалению, мой.

3. werehumanKona-chan /2 09.01.2011 11:31 lithium

на VBA пишешь?

4. Kona-chanwerehuman /3 09.01.2011 11:32 Mendoza-desktop

Мне просто файлик распарсить надо -_-

5. werehumanKona-chan /4 09.01.2011 11:32 lithium

бери ручку с бумажкой и парсь

6. Kona-chanwerehuman /5 09.01.2011 11:32 Mendoza-desktop

Более сотни строчек, не-не-не, сам парсь ручкой на бумажке.

7. werehumanKona-chan /6 09.01.2011 11:33 lithium

если у меня возникнет такая задача, то я сначала разберусь, что у меня есть помимо ручки с бумажкой

8. Kona-chanwerehuman /7 09.01.2011 11:33 Mendoza-desktop

Давай уже от абстракций перейдем к конкретике.

9. werehumanKona-chan /8 09.01.2011 11:33 lithium

на чем программу пишешь блядь?

10. Kona-chanwerehuman /9 09.01.2011 11:34 Mendoza-desktop

Да это не для программы, блядь.

11. werehumanKona-chan /10 09.01.2011 11:35 lithium

ну тогда считываешь все шесть своих строчек и прибавляешь 1 к 4, 2 к 5 и 3 к 6

12. Kona-chanwerehuman /11 09.01.2011 11:35 Mendoza-desktop

(-_\\
Как?

13. werehumanKona-chan /12 09.01.2011 11:36 lithium

зависит от платформы

14. Kona-chanwerehuman /13 09.01.2011 11:36 Mendoza-desktop

Cygwin есть, шпарь на баше.

15. werehumanKona-chan /14 09.01.2011 11:36 lithium

там есть утилита paste, кстати, но я так и не осилил ее. Она таким занимается

16. hedgehog 09.01.2011 11:37

открой его в екселе как обычный фаел, и экселем же распарсь, потом схорони как обычный файл с пустым разделителем столбцов ... профит

17. Kona-chanhedgehog /16 09.01.2011 11:38 Mendoza-desktop

Хорошо, а как в экселе это делать?

18. neopa3othedgehog /16 09.01.2011 11:38

Извращенец.

19. werehumanKona-chan /17 09.01.2011 11:38 lithium

да ты совсем нуб. Открой в блокноте, Ctrl+A, ctrl+C, открой эксель, Ctrl+V

20. Kona-chanwerehuman /19 09.01.2011 11:39 Mendoza-desktop

.\_/.

21. Kona-chanKona-chan /17 09.01.2011 11:40 Mendoza-desktop

Кажется, понял. Щас попробую. И все-таки хотелось бы более элегантного решения.

22. werehumanKona-chan /20 09.01.2011 11:40 lithium

ты хочешь чтобы совсем автоматизировано было? Пиши в том же экселе на vba, там должно быть чтение файлов.

23. werehumanKona-chan /21 09.01.2011 11:40 lithium

у тебя всегда ровно шесть строк?

24. Kona-chanwerehuman /22 09.01.2011 11:40 Mendoza-desktop

1. R cannot into VBA.
2. У меня calc.

25. werehumanKona-chan /24 09.01.2011 11:40 lithium

calc не умеет такой копипаст, да

26. Kona-chanwerehuman /23 09.01.2011 11:40 Mendoza-desktop

#thzsi/5

27. werehumanKona-chan /26 09.01.2011 11:41 lithium

лол, это тебе надо, а не мне

28. Kona-chanwerehuman /27 09.01.2011 11:41 Mendoza-desktop

Ладно, ладно, в общем, файл у меня дохуя большой. Было б шесть строк — ручками бы сделал.

29. werehumanKona-chan /28 09.01.2011 11:42 lithium

файл очень большой? В оперативную память целиком загрузить можно?

30. Kona-chanwerehuman /29 09.01.2011 11:42 Mendoza-desktop

Можно.

31. Kona-chanwerehuman /15 09.01.2011 11:43 Mendoza-desktop

Слушай, кажется, paste — это оно. Спасибо!

32. werehumanKona-chan /31 09.01.2011 11:43 lithium

paste для двух файлов

33. Kona-chanwerehuman /32 09.01.2011 11:44 Mendoza-desktop

Как бы один файл разбить на два — не очень большая проблема. Не очень элегантно, зато практично.

34. werehumanKona-chan /30 09.01.2011 11:44 lithium

тогда пеши праграму. В ней создай массив из строк файла. Найди длину массива, подели на джва. Затем в цикле от нуля до половины длины массива, бери строку под номером счетчика цикла, еще бери строку под номером счетчик цикла + пол-длины массива, конкатенируй их и пихай в поток вывода

35. Kona-chanwerehuman /34 09.01.2011 11:45 Mendoza-desktop

Ага, ага, ща напихаю тут, будет в лучшем виде. Ты няша ^_^

36. werehumanKona-chan /35 09.01.2011 11:45 lithium

я тридцать комментариев вытаскивал из тебя четкое ТЗ

37. Kona-chanwerehuman /36 09.01.2011 11:46 Mendoza-desktop

6^^"

38. madware 09.01.2011 11:59 jabbim

открываешь файл в двух вэкземплярах. В одно м делаешь fseek до позиции d. ПОследовательно читаешь из обоих файлов пока в этом втором не будет достигнут конец. записываешь палучаемые результаты в выходной файл, склеивая их

39. Kona-chanmadware /38 09.01.2011 11:59 Mendoza-desktop

Вариант, в принципе. Спасибо.

40. neopa3otmadware /38 09.01.2011 11:59

Каким-то извратом пахнет.

41. werehumanmadware /38 09.01.2011 11:59 lithium

один вопрос — а как сделать fseek до позиции d?

42. werehumanneopa3ot /40 09.01.2011 12:00 lithium

конкатенация на месте, без дополнительной памяти

43. madwarewerehuman /41 09.01.2011 12:00 jabbim

это самая интересная, творческая часть

44. werehumanmadware /43 09.01.2011 12:01 lithium

нужно сначала узнать количество строчек в файле — прочитать его целиком и закрыть. А потом во втором файле прочитать до половины строчек и только тогда стартовать тот алгоритм

45. werehumanwerehuman /44 09.01.2011 12:02 lithium

и все это очень желательно делать с буферизацией, чтобы не наткнуться на чудесный 12309, аналог которого также портирован под виндовс

46. Kyosuke 09.01.2011 12:08 БРАТ

совсем ебанулась

47. Kona-chanKyosuke /46 09.01.2011 12:09 Mendoza-desktop

Што

48. Iwasawafag 09.01.2011 14:53

ещё не сделал?

я правильно понимаю, тебе надо то что после середины приклеить к тому, что до середины? или просто склеить каждые 6 строк?

Do you really want to delete ?