ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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