LogIn E-mail
¼³°èÀ̾߱â
[Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â
# 74 JMJS    07.2.22 10:55

#!/usr/bin/perl
# 2003.5.15 Jinsung Park

my $tab = "        ";
my $infile = "";
my $outfile = "";
while(@ARGV) {
        if($ARGV[0] =~ /^-tab/i) {
                shift(@ARGV);
                $tab = $ARGV[0];
                shift(@ARGV);
        }
        else {
                if($infile eq "") { $infile = $ARGV[0];}
                else { $outfile = $ARGV[0];}
                shift(@ARGV);
        }
}

my $tablength=length($tab);
my @tabs=split(//,$tab);

if($infile eq "") {
        print "usage:jtab2char -tab \"___\" infile outfile\n";
        exit;
}

if($outfile eq "") {
        $outfile = "j_$infile";
}

if(-f $outfile) {
        print "$outfile exist. Do you want to overwrite it ?(y/N)";
        $achr=<STDIN>;
        if($achr!~/^y/i) { exit;}
}

open(IN,"$infile")||die("$infile can not be read.\n");
open(OUT,">$outfile")||die("$outfile can not be opened.\n");
while(my $aline=<IN>) {
        $aline =~ s/[\s\n]+$/\n/g;
        @achrs=split(//,$aline);
        my $k=0;
        for(my $i=0;$i<=$#achrs;$i++) {
                if($achrs[$i] eq "\t") {
                        my $nlength = $k % $tablength;
                        for($j=$nlength;$j<$tablength;$j++) {
                                print OUT $tabs[$j % $tablength];
                                $k++;
                        }
                }
                else {
                        print OUT $achrs[$i];
                        $k++;
                }
        }
}
close(IN);
close(OUT);

÷ºÎÆÄÀÏ: jtab2char.pl
°Ô½Ã¹°: 115 °Ç, ÇöÀç: 1 / 1 ÂÊ
¹øÈ£ Á¦       ¸ñ ÀÛ¼ºÀÚ µî·ÏÀÏ ¹æ¹®
115  perl format JMJS 24.6.22 310
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 327
113  Deleting from a Hash , defined , exists JMJS 25.7.9 334
112  yaml file Àбâ JMJS 23.11.30 378
111  alzipcon JMJS 22.11.26 416
110  file2date.pl JMJS 24.6.1 553
109  UTF-8, EUC-KR JMJS 19.12.15 510
108  wget.pl LWP Simple get JMJS 19.9.17 560
107  X JMJS 19.9.17 523
106  X JMJS 19.9.17 525
105  X JMJS 19.9.17 524
104  X JMJS 19.9.17 516
103  X JMJS 19.9.17 514
102  X JMJS 19.9.17 511
101  gnome-terminal JMJS 25.7.3 526
100  jsame.pl JMJS 09.5.21 2052
99  jos.pl JMJS 08.11.29 1768
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1816
97  vhdl.pm JMJS 08.11.29 1783
96  jreg.pl JMJS 08.11.29 1770
95  jtree.pm JMJS 08.11.29 1841
94  w2c.pl JMJS 08.11.29 1807
93  jdread.pl JMJS 08.11.29 1580
92  ffile.zip ffilediff.pl JMJS 09.4.24 1639
91  rgb2ycbcr.pl JMJS 10.5.12 1947
90  proview.pl JMJS 08.11.29 2028
89  smi_shift.pl JMJS 10.10.3 1622
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1819
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1503
86  hash JMJS 24.6.22 1754
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1550
84  JARRAY->jfunc JMJS 08.10.2 1522
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2029
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2056
81  hex2int.pl JMJS 10.9.12 2781
80  stat - file status º¸±â JMJS 07.12.16 1634
79  Perl Tip JMJS 24.6.22 2793
78  SMI file sync delay JMJS 07.7.18 1720
77  rmword.pl JMJS 07.6.18 1660
76  pack unpack JMJS 24.6.22 1574
75  [Perl]read_dir.pl JMJS 07.2.22 1864
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 1834
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 1893
72  [CGI]GET and POST JMJS 06.11.20 3544
71  Perl Grammer JMJS 06.9.4 3135
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2037
69  Getopt::Long example JMJS 06.8.10 2210
68  array of array JMJS 06.4.22 1639
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1717
66  l2w.pm - line to word JMJS 08.12.1 1734
65  make_random_chars JMJS 05.8.10 1547
64  mail º¸³»´Â script JMJS 05.3.23 1526
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1559
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2613
61  print <<ENDLINE JMJS 03.12.5 1628
60  [HTML]Target JMJS 03.5.21 1653
59  [Perl]jutil.pm JMJS 03.5.3 1894
58  [Perl]jdiff.pl JMJS 02.6.6 1825
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1840
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1669
55  STDIN file open glob -w warning JMJS 24.6.22 1719
54  opendir , readdir , closedir JMJS 24.6.22 1714
53  rand_diff JMJS 01.10.23 1605
52  vcd2v.pl JMJS 15.8.25 1674
51  file upload JMJS 24.6.22 1622
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 1781
49  head2index Áø¼º 01.3.15 1511
48  grep.pl JMJS 11.1.20 1599
47  chr(13) = \M Áø¼º 01.3.15 1467
46  stty JMJS 01.3.12 1582
45  des.pl JMJS 01.3.8 1571
44  chr_plus.pl JMJS 01.3.8 1559
43  get passwd in unix JMJS 19.8.18 1416
42  unsort JMJS 19.9.10 1651
41  read from website web JMJS 19.5.15 1444
40  vec JMJS 01.3.8 1700
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1623
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1583
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1649
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1742
35  mkmm.pl - make freemind JMJS 12.5.22 1693
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1675
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1592
32  jdcat.pl juncat.pl JMJS 11.2.24 1728
31  print chr(ord('a')); JMJS 01.3.8 1626
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1565
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1671
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1585
27  array and for JMJS 00.11.14 1431
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1518
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1456
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1756
23  for(1..3) { print "$_";} JMJS 09.4.24 1452
22  package JMJS 24.6.22 1502
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1561
20  hotkey function by getc JMJS 00.7.21 1640
19  read, sysread, syswrite JMJS 00.7.21 2521
18  crypt JMJS 00.7.13 1783
17  csv2gan.pl JMJS 11.4.4 1774
16  hexa JMJS 24.6.18 1599
15  file in out.pl JMJS 00.7.5 1788
14  ARGV JMJS 00.7.5 1614
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2121
12  @INC JMJS 00.7.5 1970
11  $#myarray JMJS 00.7.5 1729
10  Hash of Array JMJS 00.7.5 1540
9  package JARRAY JHASH JMJS 00.7.4 1803
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1796
7  base64 enc dec binary JMJS 25.6.30 1581
6  file lock JMJS 00.7.4 1674
5  gettime JMJS 00.7.4 1695
4  [Perl]jcdread.pl JMJS 00.7.4 1742
3  [Perl]jdread.pl JMJS 00.7.4 1643
2  Monti Hall problem JMJS 24.6.27 1624
1  DESTROY JMJS 09.7.20 1589
[1]