* [Comm] поменять строчки местами
@ 2006-02-06 9:54 Aleksey E. Birukov
2006-02-06 10:05 ` Damir Shayhutdinov
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Aleksey E. Birukov @ 2006-02-06 9:54 UTC (permalink / raw)
To: Community
Есть огромный табличный файл.
Как можно поменять две строчки местами в vim или еще где?
Эту операцию придется совершить раз 200. Поэтому нужно найти оптимальный
способ.
--
$respect
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 9:54 [Comm] поменять строчки местами Aleksey E. Birukov
@ 2006-02-06 10:05 ` Damir Shayhutdinov
2006-02-06 10:29 ` Aleksey E. Birukov
2006-02-06 10:07 ` Терешков Евгений
2006-02-06 10:42 ` Беляев В.Н.
2 siblings, 1 reply; 9+ messages in thread
From: Damir Shayhutdinov @ 2006-02-06 10:05 UTC (permalink / raw)
To: Aleksey E. Birukov; +Cc: Community
On Mon, Feb 06, 2006 at 12:54:34PM +0300, Aleksey E. Birukov wrote:
> Есть огромный табличный файл.
> Как можно поменять две строчки местами в vim или еще где?
>
> Эту операцию придется совершить раз 200. Поэтому нужно найти оптимальный
> способ.
Если хочется ручками в vim - тогда в командном режиме надо набрать ddp.
Если же хочется автоматики - тогда могут помочь регэкспы и средства для
работы с ними (perl, sed)
--
WBR,
Damir Shayhutdinov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 9:54 [Comm] поменять строчки местами Aleksey E. Birukov
2006-02-06 10:05 ` Damir Shayhutdinov
@ 2006-02-06 10:07 ` Терешков Евгений
2006-02-06 10:34 ` Aleksey E. Birukov
2006-02-06 10:42 ` Беляев В.Н.
2 siblings, 1 reply; 9+ messages in thread
From: Терешков Евгений @ 2006-02-06 10:07 UTC (permalink / raw)
To: ALT Linux Community
"Aleksey E. Birukov" <birukov@vladinfo.ru> writes:
> Есть огромный табличный файл. Как можно поменять две строчки местами в
> vim или еще где? Эту операцию придется совершить раз 200. Поэтому нужно
> найти оптимальный способ.
Например в emacs это делается так: "C-x C-t" (меняет строки местами и
сдвигает курсор на строку вниз). Только вам скорее всего это не нужно. Если
количество операций >=5 и есть критерий, то нужно или awk/sed/perl или
скриптовые возможности редактора изучить.
Задачу уточните. Делать руками 200 раз - не дело.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 10:05 ` Damir Shayhutdinov
@ 2006-02-06 10:29 ` Aleksey E. Birukov
2006-02-06 10:40 ` Alexey I. Froloff
0 siblings, 1 reply; 9+ messages in thread
From: Aleksey E. Birukov @ 2006-02-06 10:29 UTC (permalink / raw)
To: Damir Shayhutdinov, Community
В сообщении от 6 февраля 2006 13:05 Вы написали:
> On Mon, Feb 06, 2006 at 12:54:34PM +0300, Aleksey E. Birukov wrote:
> > Есть огромный табличный файл.
> > Как можно поменять две строчки местами в vim или еще где?
> >
> > Эту операцию придется совершить раз 200. Поэтому нужно найти оптимальный
> > способ.
>
> Если хочется ручками в vim - тогда в командном режиме надо набрать ddp.
Это cut & past
А нужно, например, поменять местами 4-ую и 678-ую строчки.
В идеале как-то пометить 4-ую, затем перейти на 678-ую, нажать сочетаение
клавиш и вуаля - они поменялись местами.
Или указать на какую строчку должна переместиться строчка под курсором. Или
как-то еще...
> Если же хочется автоматики - тогда могут помочь регэкспы и средства для
> работы с ними (perl, sed)
--
$respect
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 10:07 ` Терешков Евгений
@ 2006-02-06 10:34 ` Aleksey E. Birukov
2006-02-06 11:01 ` Терешков Евгений
0 siblings, 1 reply; 9+ messages in thread
From: Aleksey E. Birukov @ 2006-02-06 10:34 UTC (permalink / raw)
To: ALT Linux Community
В сообщении от 6 февраля 2006 13:07 Терешков Евгений написал(a):
> "Aleksey E. Birukov" <birukov@vladinfo.ru> writes:
> > Есть огромный табличный файл. Как можно поменять две строчки местами в
> > vim или еще где? Эту операцию придется совершить раз 200. Поэтому нужно
> > найти оптимальный способ.
>
> Например в emacs это делается так: "C-x C-t" (меняет строки местами и
> сдвигает курсор на строку вниз).
Меняет местами соседние строки?
Нужно менять строки на большом "расстоянии" (например: 4-ую и 476-ую).
Реально?
> Только вам скорее всего это не нужно. Если
> количество операций >=5 и есть критерий, то нужно или awk/sed/perl или
> скриптовые возможности редактора изучить.
>
> Задачу уточните. Делать руками 200 раз - не дело.
К сожалению, критерий не очевидный - нужно думать в каждом случае.
--
$respect
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 10:29 ` Aleksey E. Birukov
@ 2006-02-06 10:40 ` Alexey I. Froloff
2006-02-06 11:28 ` Aleksey E. Birukov
0 siblings, 1 reply; 9+ messages in thread
From: Alexey I. Froloff @ 2006-02-06 10:40 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 627 bytes --]
* Aleksey E. Birukov <birukov@> [060206 13:31]:
> > Если хочется ручками в vim - тогда в командном режиме надо набрать ddp.
> Это cut & past
> А нужно, например, поменять местами 4-ую и 678-ую строчки.
> В идеале как-то пометить 4-ую, затем перейти на 678-ую, нажать сочетаение
> клавиш и вуаля - они поменялись местами.
> Или указать на какую строчку должна переместиться строчка под курсором. Или
> как-то еще...
4Gddm'677GPjdd''P
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 9:54 [Comm] поменять строчки местами Aleksey E. Birukov
2006-02-06 10:05 ` Damir Shayhutdinov
2006-02-06 10:07 ` Терешков Евгений
@ 2006-02-06 10:42 ` Беляев В.Н.
2 siblings, 0 replies; 9+ messages in thread
From: Беляев В.Н. @ 2006-02-06 10:42 UTC (permalink / raw)
To: ALT Linux Community
Hello Aleksey,
Monday, February 6, 2006, 2:54:34 PM, you wrote:
AEB> Есть огромный табличный файл.
AEB> Как можно поменять две строчки местами в vim или еще где?
AEB> Эту операцию придется совершить раз 200. Поэтому нужно найти оптимальный
AEB> способ.
Четную и нечетную и так до конца?
Или первую со второй, потом вторую с третьей и т.д?
Что-то вроде пузырьковой сортировки?
Алгоритм проясните, пожалуйста.
--
Best regards,
Беляев mailto:w_n_b@mail.ru
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 10:34 ` Aleksey E. Birukov
@ 2006-02-06 11:01 ` Терешков Евгений
0 siblings, 0 replies; 9+ messages in thread
From: Терешков Евгений @ 2006-02-06 11:01 UTC (permalink / raw)
To: ALT Linux Community
"Aleksey E. Birukov" <birukov@vladinfo.ru> writes:
>> Например в emacs это делается так: "C-x C-t" (меняет строки местами
> и сдвигает курсор на строку вниз).
> Меняет местами соседние строки?
> Нужно менять строки на большом "расстоянии" (например: 4-ую и 476-ую).
> Реально?
С емаксе реально задать аргументом перед нажатием этих клавиш ПРИРАЩЕНИЕ,
на сколько передвинуть предыдущую строку. Способ обмена с абсолютными
номерами строк (в vim) тут уже сообщили. Для емакса такого способа я не
знаю.
>> Только вам скорее всего это не нужно. Если
>> количество операций >=5 и есть критерий, то нужно или awk/sed/perl
> или скриптовые возможности редактора изучить.
>> Задачу уточните. Делать руками 200 раз - не дело.
> К сожалению, критерий не очевидный - нужно думать в каждом случае.
От таких задач надо избавляться :-)
Может всё-таки объясните, что вы пытаетесь сделать?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] поменять строчки местами
2006-02-06 10:40 ` Alexey I. Froloff
@ 2006-02-06 11:28 ` Aleksey E. Birukov
0 siblings, 0 replies; 9+ messages in thread
From: Aleksey E. Birukov @ 2006-02-06 11:28 UTC (permalink / raw)
To: ALT Linux Community
В сообщении от 6 февраля 2006 13:40 Alexey I. Froloff написал(a):
> * Aleksey E. Birukov <birukov@> [060206 13:31]:
> > > Если хочется ручками в vim - тогда в командном режиме надо набрать ddp.
> >
> > Это cut & past
> > А нужно, например, поменять местами 4-ую и 678-ую строчки.
> > В идеале как-то пометить 4-ую, затем перейти на 678-ую, нажать сочетаение
> > клавиш и вуаля - они поменялись местами.
> > Или указать на какую строчку должна переместиться строчка под курсором.
> > Или как-то еще...
>
> 4Gddm'677GPjdd''P
Это то, что нужно. Спасибо.
--
$respect
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-02-06 11:28 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-06 9:54 [Comm] поменять строчки местами Aleksey E. Birukov
2006-02-06 10:05 ` Damir Shayhutdinov
2006-02-06 10:29 ` Aleksey E. Birukov
2006-02-06 10:40 ` Alexey I. Froloff
2006-02-06 11:28 ` Aleksey E. Birukov
2006-02-06 10:07 ` Терешков Евгений
2006-02-06 10:34 ` Aleksey E. Birukov
2006-02-06 11:01 ` Терешков Евгений
2006-02-06 10:42 ` Беляев В.Н.
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git