Sponsored Content
Full Discussion: Text Manipulation.
Top Forums Shell Programming and Scripting Text Manipulation. Post 302169701 by Icepick on Friday 22nd of February 2008 05:54:35 AM
Old 02-22-2008
Error Text Manipulation.

Hi

I have only ever used awk and sed for basic requirements up until now.
I have had to break a log down for multiple purposes.
Using awk, sed and a date script. I am left with this:

(message id, time of msg attempt, message id, domain name[from senders address], time of msg completion)

1JRkPs-0008m8-Fd 7230901
1JRkPs-0008m8-Fd domain.com 7230902
1JRkPs-0008m8-Fd abc.com 7230961
1JRkaH-0009E0-VZ 7231546
1JRkaH-0009E0-VZ domain.co.uk 7231547
1JRl5D-000AMD-22 7229863
1JRl5D-000AMD-22 123.com 7229864
1JRl66-000AOR-AZ 7229918
1JRl66-000AOR-AZ xyz.co.za 7229919


What this represents is email logs for sending/receiving.
The first entry is MSG id and time of attempt in seconds.
Second entry is MSG id , recipient and time of msg completion in seconds.

I am attempting to subtract the 2nd entry's' time with the first entry, and if there is a 3rd entry, do the same and if there is a 4th and so on and display the output like:

1JRkPs-0008m8-Fd
1JRkPs-0008m8-Fd domain.com (1s) abc.com (60s)
1JRkaH-0009E0-VZ
1JRkaH-0009E0-VZ domain.co.uk (1s)

My attempt is to work out delays from which domains are longer than others.
So in my example above, domain.com message was queued for 1 second, where as abc.com was queued for 60 seconds.

I wrote a script below which can perform the re-arranging, however not the calculations. Could someone please be of some assistance?

Many thanks in advance.

Code:
#!/usr/bin/awk -f
BEGIN {
       KEY=""
       DATA=""
}
{
       if($1 != KEY){
               if(KEY!=""){
                       printf(" %s %s\n",
 KEY, DATA)
               }
               DATA=$2
       } else {
               DATA=DATA" "$2
       }
       KEY=$1
}
END {
       printf(" %s %s\n", KEY, DATA)
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

text manipulation

I am tryin to figure out how to extract interested text from file example.txt blah blah blah a: child1 blah a: child2 blah b: parent1 blah blah blah .... blah a: child21 blah a: child22 blah a: child23 blah b: parent2 this kinda text repeats .. number of children is... (6 Replies)
Discussion started by: rajkishore
6 Replies

2. UNIX for Dummies Questions & Answers

Help with text manipulation

Hi there, I have some text files in unix format that processed by a program in windows, and when I open them with less or vi in linux, a warn for opening binary file is prompted, and as shown in vi, between every two characters there was inserted a "^@". How can I fix this. Plus, there are over... (2 Replies)
Discussion started by: dustinwang2003
2 Replies

3. UNIX for Dummies Questions & Answers

Text Manipulation

Greetings. Iīm a biologist and I donīt have mucho knowledge on Unix/Linux, but I need to use Cygwin to change some documents from a GenBank format to a FASTA format. GenBank format goes somthing like this: LOCUS NM_013964 2568 bp mRNA linear PRI 26-APR-2009... (2 Replies)
Discussion started by: vanesa1230
2 Replies

4. Shell Programming and Scripting

[HELP] Text manipulation... [HELP]

I need to know how can I remove all word after comma on each line. Like: jjkj,iiuiui,ijlkjkij,ookoo kijljlj,jhhkj,ijijkijkj,oijkijj kjkljlkj,kjkjlkjlkj,opok,okop to jjkj, kijljlj, ... (5 Replies)
Discussion started by: slutb3
5 Replies

5. UNIX for Dummies Questions & Answers

text manipulation help

Hello again unix.com How can I extract from a large file in format: steve@aol.com steve hawkins Location of this member is bla bla bla sun@hotmail.com Sun Ying This member is using browser bla bla bla to another text in format: steve@aol.com steve hawkins sun@hotmail.com sun ying ... (5 Replies)
Discussion started by: galford
5 Replies

6. UNIX for Dummies Questions & Answers

Text Manipulation Help

Hello Unix.com, I have a text in format: john sara lee How can I make it: john:john john:john1 john:john12 john:john123 sara:sara sara:sara12 sara:sara123 and so on (2 Replies)
Discussion started by: galford
2 Replies

7. UNIX for Dummies Questions & Answers

Text manipulation help

Hello unix.com users, I have a ip file (line-by-line). How can I delete the ips that keep repeating by mark XXX.XXX.XXX.* ... I want to erase only the lines that keep repeating more than 2 times. Example: 1.2.3.1 1.2.3.2 1.2.3.3 I want to erase all ips blocks that are repeating by C... (1 Reply)
Discussion started by: galford
1 Replies

8. UNIX for Dummies Questions & Answers

Text manipulation

i want to generate a list line-by-line of normal characters using letters . for example : dnds gnos mgod pets jnfp etc... i want to use all letters with all the posibilities is there a script that can do this ? (3 Replies)
Discussion started by: suppliernr1
3 Replies

9. Shell Programming and Scripting

Text manipulation help

Hello again, I have a problem manipulating a large text document and there is no way I could edit this document by hand. Format is: Address : XXXX N 37 Ave, Hollywood, FL, 33021 Phone: XXX3190XXX Player: XXXXXX Character: Jaramillo DOB: June-14-1995 ----- Name: Alexandra Ticket... (3 Replies)
Discussion started by: galford
3 Replies

10. Shell Programming and Scripting

Help text manipulation

Hello Forum , I need a help about text manupulation. I have a text file and I have to manipulate this file. Let's say source.txt source.txt UNB+UNOC:3+O0013000005MAN MN RVS:91+0098006688:92+190304:2313+F004169241' UNH+8146848+DELJIT:D:96A:UN' BGM+307:::JIS_SYNCRO_FIRM+2019030423234101+9'... (8 Replies)
Discussion started by: cemokam65
8 Replies
UNI(8)							      System Manager's Manual							    UNI(8)

NAME
uni - a program to interface with the UniConf configuration system SYNOPSIS
uni get KEY [DEFAULT] uni set KEY [VALUE] uni xset KEY [VALUE] uni keys KEY uni hkeys KEY uni xkeys KEY uni dump KEY uni hdump KEY uni xdump KEY DESCRIPTION
UniConf is the One True Configuration system that includes all the others because it has plugin backends and frontends. Or, less grandiosely, it's a lightweight, distributed, cacheable tree of strings. uni is used to interface directly with the UniConf system. It's primary use is for diagnostic purposes, but it can be used to add UniConf support to shell scripts. ENVIRONMENT VARIABLE
UNICONF Before using uni, you must tell it which UniConf moinker you wish to query by setting this environment variable. Monikers are used to contact UniConf back-ends, be they a uniconfd server, or a local file. For example, they could be: o a filename (ini:/var/lib/app/config.ini), o or a network address, (tcp:open.nit.ca:4111). COMMANDS
get Retreive the VALUE associated with the provided KEY within the UniConf database. If a DEFAULT is provided, this will be returned if the KEY has no associated VALUE. set Assign the provided VALUE the the provided KEY. UniConf provides no guarentee that the entry committed throughout the database. The next "get" command for this KEY may not return the most recently "set" value due to caching, or the existance of a read-only generator. xset Assign, to the provided KEY, the contents of the standard-input stream. Use this command to pipe information into the UniConf data- base. keys List all the sub-keys contained within the provided KEY. hkeys List all the sub-keys, recursively, contained within the provided KEY. Since any KEY may contain sub-keys, UniConf provides no guarentee that there are no circular references. xkeys List all the sub-keys contained within the provided KEY, which can contain wildcards. See the WILDCARDS section. dump List all the sub-keys and their values, contained within the provided KEY. hdump List all the sub-keys and their values, recursively, contained within the provided KEY. xdump List all the sub-keys and their values, contained within the provided KEY, which can contain wildcards. WILDCARDS
A KEY looks just like a normal slash-delimited path. The root of the UniConf tree has a KEY named "/". Sub-keys can be accessed by names such as "/software/myapp/version". With wildcards, you can access more than one key at a time. * To access a sub-key within any one level of keys, use the asterix like so: "/software/*/version". This retrieves all keys of "ver- sion" that are one level beneath "/software". ... To access a sub-key anywhere beneath a key, use the ellipsis like so: "/.../version". This retrieves all keys of "version" that are zero or more levels beneath the root (i.e. any appearance of "version" within the database. SEE ALSO
uniconfd(8) AUTHORS
This software was written by the hackers at Net Integration Technologies. Contact us at <wvstreams-dev@lists.nit.ca> Uni 4.2.2 September 2004 UNI(8)
All times are GMT -4. The time now is 02:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy