How to exchange two columns in a table?
Rudy Vener
salt at panix.com
Sun Jan 7 22:25:55 UTC 2007
OK. Try this one:
Contents of swap.pl:
#!/usr/bin/perl
while (<STDIN>)
{
chomp $_;
($col1, $col2) = split(/\t/,$_);
print "$col2\t$col1\n";
}
# end of swap.pl
On Sun, Jan 07, 2007 at 01:18:36PM +0800, coscell at mail.batol.net wrote:
> Many thanks! I got the following messages:
>
> ./swap.pl: line 3: syntax error near unexpected token `)'
> ./swap.pl: line 3: `while(<STDIN>)'
>
> Perl version is 5.8.8.
> On Sat, 6 Jan 2007, Rudy Vener wrote:
>
> >If there is only one tab between fields you can use PERL like so:
> >
> >$ cat file | swap.pl > file2
> >
> >
> >
> >Where swap.pl contains:
> >
> >#/usr/bin/perl
> >
> >while(<STDIN>)
> >{
> >chomp $_;
> >($col1,$col2) = split(/\t/,$_);
> >print "$col2\t$col1\n";
> >}
> ># end of swap.pl file
> >
> >
> >The above assumes that swap.pl is executable. chmod 755 it after
> >editing. It also
> >assumes there are only two columns in the file. If there are more, e.g. 4
> >you will
> >ned to adjust the code accordingly, such as
> >($col1,$col2,$col3,$col4) = split(/\t/,$_);
> >and
> >print "$col2\t$col1\t$col3\t$col4\n";
> >
> >or whichever columns you want to swap.
> >
> >Rudy Vener
> >Pizza galaxy
> >http://www.pizzagalaxy.com
> >
> >
> >
> >On Sat, Jan 06, 2007 at 11:14:40PM +0800, coscell at mail.batol.net wrote:
> >>Thank you! It's just a tab-delimited text file.
> >>
> >>On Sat, 6 Jan 2007, Tim Chase wrote:
> >>
> >>>I think you'll have to provide a few more details:
> >>>
> >>>1) where is the table? In a spreadsheet? In a database? In a
> >>>text-file?
> >>>
> >>>2) If it's a spreadsheet or database, what flavor? (Gnumeric? Siag? SC?
> >>>Oleo? OpenOffice.org? KOffice? MySQL? PostgreSQL?
> >>>SQLite? etc)
> >>>
> >>>3) If it's just a text file, how are columns determined? Is it a CSV
> >>>file? (and if so, how is character escaping/quoting done?) Is it a
> >>>tab-delimited file? Are the columns positional? (i.e. columns 1 through
> >>>10 are the first field, 11 through 15 are the next, etc)
> >>>
> >>>With the extra details, it should be pretty easy to find a solution.
> >>>
> >>>-tim
> >>>
> >>>
> >>>
> >>>_______________________________________________
> >>>Blinux-list mailing list
> >>>Blinux-list at redhat.com
> >>>https://www.redhat.com/mailman/listinfo/blinux-list
> >>>
> >>
> >>_______________________________________________
> >>Blinux-list mailing list
> >>Blinux-list at redhat.com
> >>https://www.redhat.com/mailman/listinfo/blinux-list
> >
> >_______________________________________________
> >Blinux-list mailing list
> >Blinux-list at redhat.com
> >https://www.redhat.com/mailman/listinfo/blinux-list
> >
>
> _______________________________________________
> Blinux-list mailing list
> Blinux-list at redhat.com
> https://www.redhat.com/mailman/listinfo/blinux-list
More information about the Blinux-list
mailing list