Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] Извеждане на табулации


  • Subject: Re: [Lug-bg] Извеждане на табулации
  • From: Ted Zlatanov <tzz@xxxxxxxxxxxx>
  • Date: Mon, 31 Mar 2008 11:05:06 -0500
  • Organization: Теодор Златанов @ Cienfuegos

On Mon, 31 Mar 2008 18:10:51 +0300 Peter Pentchev <roam@xxxxxxxxxxx> wrote: 

PP> On Mon, Mar 31, 2008 at 09:26:28AM -0500, Ted Zlatanov wrote:
>> On Sat, 29 Mar 2008 22:14:28 +0200 Александър Шопов <ash@xxxxxxxxxx> wrote: 
>> 
АШ> В смисъл - това зависи от конкретния терминал (включително и хардуерно
АШ> устройство) или има променлива на средата, която влияе?
АШ> Знаеш ли за пример на терминална програма, която извежда табулацията
АШ> например като четири шпации?
>> 
>> perl -p -e 's/\t/   /g' < FILE
>> 
>> Така си сигурен че терминала няма да се меси.

PP> Ъъъъъъ... с цялото ми уважение, това не помага изобщо :)
...
PP> А за истинския въпрос: аз лично за такива неща обикновено ползвам хубавата
PP> стара Unix-ка програма pr(1), особено с параметри -t и -e8 или -e4 или
PP> колкото искам да й кажа :)  Шопов, пробвай с "pr -t -e4 foo.txt"; ако не
PP> стане точно каквото искаш, поиграй си с другите опции на pr(1).

Извинявайте, сбърках.  Ето нещо по-правилно, подобно на `pr' (за чийте
опций аз не знаех, и която явно е по-добрият избор).

Тео

#!/usr/bin/perl

use warnings;
use strict;

my $tabw = 4;

while (<>)
{
 my @chars = split //;
 my $pos = 0;
 foreach my $char (@chars)
 {
  if ($char eq "\t")
  {
   # move to the next position until it's a multiple of $tabw
   do
   {
    print ' ';
   } while (++$pos % $tabw);
  }
  else
  {
   print $char;
   $pos++;
  }
 }
}
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.