Sponsored Content
Top Forums Shell Programming and Scripting The difference between end number in the early row and the start number in the next Post 302678869 by anjas on Monday 30th of July 2012 02:31:28 AM
Old 07-30-2012
The difference between end number in the early row and the start number in the next

Hi Power User,


I'm trying to compute this kind of text file format:

file1:

 
jakarta 100 150
jakarta 170 210
beijing 220 250
beijing 260 280
beijing 290 320
new_york 330 350
new_york 370 420
tokyo 430 470
tokyo 480 485
seoul 490 540
seoul 570 590
seoul 640 680
seoul 730 750
singapur 780 830
singapur 860 940
. . .
. . .
. . .
p b e
The meaning of the dots that goes away until 'p', 'b', and 'e' are the marker that the flow those data still goes on until that point. The desired output is like this:

file2:
 
jakarta 170 150
beijing 260 250
beijing 290 280
new_york 370 350
tokyo 480 470
seoul 570 540
seoul 640 590
seoul 730 680
singapur 860 830
. . .
. . .
. . .
p b e
The explanation, the desired data is the difference between the end number in the town in the early row and the start number in the town in the next row. The numerical difference between different cities is not asked.

I have tried this following awk script:
Code:
 awk 'BEGIN{p=$1;b=$2;e=$3;l=$0;}{pi=$1;bi=$2;ei=$3;li=$0;if (p==pi){bi>e}else print "#", l;p=pi;bi - e;l=li;}END{print "#",l;}' file1 > file2

But the result is like this:

 
# jakarta 170 210
# beijing 290 320
# new_york 370 420
# tokyo 430 470
# seoul 730 750
# singapur 860 940
. . .
. . .
. . .
p b e
The '#' sign is for marking the desired data. Do you have a solution for this problem? Thank you.

warm regards,

Arli
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK: row number NR

Hi I've file1 as: after I read all rows with awk, I need to change some of them. I mean, for example if the last row is zero then change row number 4 in zero too. So I'd like to refers each row as a vector and change its value accordly some conditions. I know that NR keep just the "current"... (2 Replies)
Discussion started by: Dedalus
2 Replies

2. UNIX for Dummies Questions & Answers

Extract a specific number from an XML file based on the start and end tags

Hello People, I have the following contents in an XML file ........... ........... .......... ........... <Details = "Sample Details"> <Name>Bob</Name> <Age>34</Age> <Address>CA</Address> <ContactNumber>1234</ContactNumber> </Details> ........... ............. .............. (4 Replies)
Discussion started by: sushant172
4 Replies

3. Shell Programming and Scripting

Take each number in table row and find the difference from the corresponding line

I have a two files containing numbers like below. First one contains one number on each line, the other is a table of numbers, each separated by a space. There are the same number of lines in each file. I want to take each number in the row of the table and find the difference from the... (12 Replies)
Discussion started by: kristinu
12 Replies

4. Shell Programming and Scripting

count the number of lines that start with the number

I have a file with contents similar to this. abcd 1234 4567 7666 jdjdjd 89289 9382 92 jksdj 9823 298 I want to write a shell script which count the number of lines that start with the number (disregard the lines starting with alphabets) (1 Reply)
Discussion started by: grajp002
1 Replies

5. UNIX for Dummies Questions & Answers

To find the Row number

Hi Can any one tell me what is the command to find out the row id or row number for a particular record Thanks sri (6 Replies)
Discussion started by: laxmi131
6 Replies

6. Shell Programming and Scripting

how to add the number of row and count number of rows

Hi experts a have a very large file and I need to add two columns: the first one numbering the incidence of records and the another with the total count The input file: 21 2341 A 21 2341 A 21 2341 A 21 2341 C 21 2341 C 21 2341 C 21 2341 C 21 4567 A 21 4567 A 21 4567 C ... (6 Replies)
Discussion started by: juelillo
6 Replies

7. UNIX for Dummies Questions & Answers

Row number

Dear All, I am new to UNIX . Please tell me how to retreive row number from the file. In AS/400 we can retreive RRN(Relative record number ) from the file, In same way what is the option to take relative record number from the file in UNIX. It may be very easy query, but still I need ur... (9 Replies)
Discussion started by: coolmaninit
9 Replies

8. UNIX for Dummies Questions & Answers

Finding row number along with length of row

I have a fixed length file and I want to find out row number along with row length. I have a program that give me the line length if it satisfy the condition; but i would like to add row number as well? How do I do that? while IFS= read -r line; do if ; then echo ${line} echo... (8 Replies)
Discussion started by: princetd001
8 Replies

9. Shell Programming and Scripting

Get row number from file1 and print that row of file2

Hi. How can we print those rows of file2 which are mentioned in file1. first character of file1 is a row number.. for eg file1 1:abc 3:ghi 6:pqr file2 a abc b def c ghi d jkl e mno f pqr ... (6 Replies)
Discussion started by: Abhiraj Singh
6 Replies

10. Shell Programming and Scripting

Split a file by start and end row.

I have a file which looks something as following, I would like to split to several files, The start and end of each file is 'FILE' and end with 'ASCII... ' . At the same time for each file in the first column add 100 and also second column add 100 the rest of the column as it is , see example of... (2 Replies)
Discussion started by: tk2000
2 Replies
CREATE TABLE 
AS(7) SQL Commands CREATE TABLE AS(7) NAME
CREATE TABLE AS - create a new table from the results of a query SYNOPSIS
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ] AS query DESCRIPTION
CREATE TABLE AS creates a table and fills it with data computed by a SELECT command. The table columns have the names and data types asso- ciated with the output columns of the SELECT (except that you can override the column names by giving an explicit list of new column names). CREATE TABLE AS bears some resemblance to creating a view, but it is really quite different: it creates a new table and evaluates the query just once to fill the new table initially. The new table will not track subsequent changes to the source tables of the query. In contrast, a view re-evaluates its defining SELECT statement whenever it is queried. PARAMETERS
[LOCAL] TEMPORARY or [LOCAL] TEMP If specified, the table is created as a temporary table. Refer to CREATE TABLE [create_table(7)] for details. table_name The name (optionally schema-qualified) of the table to be created. column_name The name of a column in the new table. Multiple column names can be specified using a comma-delimited list of column names. If col- umn names are not provided, they are taken from the output column names of the query. query A query statement (that is, a SELECT command). Refer to SELECT [select(7)] for a description of the allowed syntax. DIAGNOSTICS
Refer to CREATE TABLE [create_table(7)] and SELECT [select(7)] for a summary of possible output messages. NOTES
This command is functionally equivalent to SELECT INTO [select_into(7)], but it is preferred since it is less likely to be confused with other uses of the SELECT ... INTO syntax. COMPATIBILITY
This command is modeled after an Oracle feature. There is no command with equivalent functionality in SQL92 or SQL99. However, a combina- tion of CREATE TABLE and INSERT ... SELECT can accomplish the same thing with little more effort. HISTORY
The CREATE TABLE AS command has been available since PostgreSQL 6.3. SEE ALSO
CREATE TABLE [create_table(7)], CREATE VIEW [create_view(l)], SELECT [select(l)], SELECT INTO [select_into(l)] SQL - Language Statements 2002-11-22 CREATE TABLE AS(7)
All times are GMT -4. The time now is 04:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy