Sponsored Content
Top Forums Shell Programming and Scripting spaces to tabs - group with IP Post 302484278 by m.d.ludwig on Thursday 30th of December 2010 10:33:38 AM
Old 12-30-2010
Since I like PERL:
Code:
#! /usr/bin/perl

use strict;
use warnings;

my $ip = undef;
my %X  = ();

$\ = "\n";
$, = '';

while (<>) {
    chomp;
    next if m{^\s*$};
    if (m{^\d+\.\d+\.\d+\.\d+$}) { $ip = $_; next; }
    push @{$X{$ip}}, $_;
}

$, = "\t";
$" = ' ';

while (my ($ip, $X) = each %X) {
    foreach my $line (@{$X}) {
        my @L = split /\s+/, $line;
        my $a = shift @L;
        my $b = shift @L;

        print $ip, $a, $b, "@L";
        $ip = '';
    }
}

which results in
Code:
192.168.2.1    ParameterObject=1    Speech    2
    ParameterObject=2    Speech    2
    ParamFunction=1    UserID    1 (DEACTIVATED)
    Sector=1,Device=2,Unit=3    DeviceId    1
    FeederCable=2A    DelayTime    i[25] = 3248 1248 1248
    FeederCable=2A    DelayTime    i[25] = 3248 1248 1248
    FeederCable=2A    DelayTime    i[25] = 3248 1248 1248
    Function=1    MeanTime    i[24] = 0 0 0 0 0
    FileLocation=1    Address    /c/user/
192.168.1.1    ParameterObject=1    Speech    1
    ParameterObject=2    Speech    1
    ParamFunction=1    UserID    1 (DEACTIVATED)
    Sector=1,Device=2,Unit=3    DeviceId    1
    FeederCable=2B    DelayTime    i[15] = 1248 1248 1248
    FeederCable=2C    DelayTime    i[15] = 1248 1248 1248
    FeederCable=2D    DelayTime    i[15] = 1248 1248 1248
    Function=1    MeanTime    i[24] = 0 0 0 0 0
    FileLocation=1    Address    /c/user/

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Converting tabs in to spaces.

Hi! I'm using SunOS 5.7 w/ Bash 2.01. Currently, I'm working on a script that will make it possible to find textfiles which match certain criteria. While I write this message, I had some brainfarts, found the answer myself :D and the question I had in mind is now no longer the question I... (3 Replies)
Discussion started by: indo1144
3 Replies

2. Shell Programming and Scripting

replacing tabs to spaces from files

hi, I have some 50 C files in which for indentation of code some devlopers used tabs, but we dont want any tab used for indentation. I have following 2 need. 1) find tabs from all 50 files (which are in one directory ) 2) replace them with 4 spaces. Thanks Rishi (6 Replies)
Discussion started by: rishir
6 Replies

3. Shell Programming and Scripting

spaces or Tabs?

When formatting a script let's say for instance the following: case ${choice} in 1) vi ${tmp1}.tmp # overwrite the tmp1 var with any user changes cp ${tmp1}.tmp ${tmp1} ;; ... (2 Replies)
Discussion started by: llsmr777
2 Replies

4. UNIX for Dummies Questions & Answers

Problem with White spaces and tabs

Hi All, I am facing issues converting white spaces and tabs together in a file I am reading. Here is the command I am trying: tr -s ' '@ | sort -t@ +1n filename I guess the problem is that it is not converting the tabs to another delimiter. Also, I am supposed to accomplish this only using... (5 Replies)
Discussion started by: sh_kk
5 Replies

5. Shell Programming and Scripting

clear extra spaces and tabs in a file

Any help appreciated Thanks sample input: > (extra spaces&tabs in here) test1 (extra spaces&tabs in here) 123.123.123.123 (extra spaces&tabs in here) abc (extra spaces&tabs in here) 123 --- < (extra spaces&tabs in... (3 Replies)
Discussion started by: goofist
3 Replies

6. Shell Programming and Scripting

Replacing tabs with spaces

I want my program to replace tabs with spaces.1tab=4spaces.When i write aa(tab)aaa(tab)(tab)a(tab) it must show me aaxxaaaxxxxxaxxx. I think that my program works corectly but when a write aaa(tab)a it must show aaaxa but it is aaaxxxxxa.Please for help!!! That is my code: #include <stdio.h> ... (3 Replies)
Discussion started by: marto1914
3 Replies

7. Shell Programming and Scripting

replace spaces/tabs with delimiter |

Hi, I'm looking for a command that replaces spaces/tabs with pipe symbol and store the result to the same file instead of routing it to another file. infile outfile Thanks. (11 Replies)
Discussion started by: dvah
11 Replies

8. Shell Programming and Scripting

Remove spaces / tabs from variable in script

I want to remove extra spaces from variable in aix script. We retrieve the data from oracle database and then print the values. We have a value on 90th position. When we execute the query on sqlplus it shows the length of 90th position as 3, but when we use the same query in aix script it shows... (5 Replies)
Discussion started by: lodhi1978
5 Replies

9. UNIX for Advanced & Expert Users

Vimrc creating tabs instead of spaces

I'm having trouble getting my vimrc to work the way I want it. For some reason after I hit enter it is creating tabs instead of spaces like I would expect. Here is an example of what I am talking about. $ = newline, ^I = tab. On the line of struct EDGETAG* q; I hit enter and it created a tab... (2 Replies)
Discussion started by: cokedude
2 Replies

10. Shell Programming and Scripting

Grab line regardless of if it ends with tabs or spaces

so i have a data file that has various lines which may or may not end with spaces or tabs. data.file: , \t \t {sample} <spaces> <spaaces> several more spaces.... {"resemble"}, <nospaces> Command i'm using: sed -n 8p data.file | egrep "\],$|\],\ $" or egrep "\],$|\],\ $"... (1 Reply)
Discussion started by: SkySmart
1 Replies
Bio::Index::GenBank(3pm)				User Contributed Perl Documentation				  Bio::Index::GenBank(3pm)

NAME
Bio::Index::GenBank - Interface for indexing one or more GenBank files (i.e. flat file GenBank format). SYNOPSIS
# Complete code for making an index for one or more GenBank files use strict; use Bio::Index::GenBank; my $Index_File_Name = shift; my $inx = Bio::Index::GenBank->new(-filename => $Index_File_Name, -write_flag => 'WRITE'); $inx->make_index(@ARGV); # Print out sequences present in the index in gcg format use Bio::Index::GenBank; use Bio::SeqIO; use strict; my $Index_File_Name = shift; my $inx = Bio::Index::GenBank->new(-filename => $Index_File_Name); my $seqio = Bio::SeqIO->new(-format => 'gcg'); foreach my $id (@ARGV) { my $seq = $inx->fetch($id); # Returns Bio::Seq object $seqio->write_seq($seq); } # alternatively my ($locus, $acc); my $seq1 = $inx->get_Seq_by_id($locus); my $seq2 = $inx->get_Seq_by_acc($acc); DESCRIPTION
By default the index that is created uses the LOCUS, ACCESSION, and VERSION identifiers as keys. Inherits functions for managing dbm files from Bio::Index::Abstract.pm, and provides the basic functionality for indexing GenBank files, and retrieving the sequence from them. For best results 'use strict'. You can also set or customize the unique key used to retrieve by writing your own function and calling the id_parser() method. For example: $inx->id_parser(&get_id); # make the index $inx->make_index($file_name); # here is where the retrieval key is specified sub get_id { my $line = shift; $line =~ /clone="(S+)"/; $1; } FEED_BACK Mailing Lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists Support Please direct usage questions or support issues to the mailing list: bioperl-l@bioperl.org rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. Reporting Bugs Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web: https://redmine.open-bio.org/projects/bioperl/ AUTHOR - Ewan Birney Email - birney@ebi.ac.uk APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ _index_file Title : _index_file Usage : $index->_index_file($file_name, $i) Function: Specialized function to index GenBank format files. Is provided with a filename and an integer by make_index in its SUPER class. Example : Returns : Args : id_parser Title : id_parser Usage : $index->id_parser( CODE ) Function: Stores or returns the code used by record_id to parse the ID for record from a string. Returns &default_id_parser (see below) if not set. An entry will be added to the index for each string in the list returned. Example : $index->id_parser( &my_id_parser ) Returns : reference to CODE if called without arguments Args : CODE default_id_parser Title : default_id_parser Usage : $id = default_id_parser($line) Function: The default parser for GenBank.pm Returns : Array of specified ids Args : a line string _file_format Title : _file_format Usage : Internal function for indexing system Function: Provides file format for this database Example : Returns : Args : perl v5.14.2 2012-03-02 Bio::Index::GenBank(3pm)
All times are GMT -4. The time now is 06:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy