Sponsored Content
Top Forums Shell Programming and Scripting ksh/awk help - output missing numbers Post 302269598 by drl on Thursday 18th of December 2008 05:59:24 AM
Old 12-18-2008
Hi.

This example uses standard commands to address the sequence part of the problem. It finds the extrema of the input sequence, uses a command to generate the full sequence, then compares the sequences:
Code:
#!/usr/bin/env ksh

# @(#) s2       Demonstrate identification of missing items.

echo
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) seq comm
set -o nounset
echo

FILE=${1-data1}

rm -f t1 t2
echo " Data file $FILE:"
cat $FILE

echo
echo " Results:"
sort -n $FILE > t1
hi=$( tail -n 1 <t1 )
lo=$( head -n 1 <t1 )
n=$( expr $hi - $lo + 1 )
echo " lo, hi of set of $n is $lo, $hi"
seq $lo $hi > t2
# jot $n $lo $hi > t2
echo " Generated set is:"
cat t2

echo
echo " Missing items in sequence:"
comm -13 $FILE t2

exit 0

Producing:
Code:
% ./s2

(Versions displayed with local utility "version")
Linux 2.6.11-x1
pdksh 5.2.14 99/07/13.2
seq (coreutils) 5.2.1
comm (coreutils) 5.2.1

 Data file data1:
1
3
4
7
8

 Results:
 lo, hi of set of 8 is 1, 8
 Generated set is:
1
2
3
4
5
6
7
8

 Missing items in sequence:
2
5
6

The command jot can be used in place of seq ... cheers, drl
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Fill in missing numbers in range

I need to edit a list of numbers on the following form: 1 1.0 2 1.4 5 2.1 7 1.9 I want: 1 1.0 2 1.4 3 0.0 4 0.0 5 2.1 6 0.0 7 1.9 (i want to add the missing number in column 1 together with 0.0 in column 2). I guess it is rather trivial but i didn't even manage to read column... (5 Replies)
Discussion started by: bistru
5 Replies

2. Shell Programming and Scripting

read numbers from file and output which numbers belongs to which range

Howdy experts, We have some ranges of number which belongs to particual group as below. GroupNo StartRange EndRange Group0125 935300 935399 Group2006 935400 935476 937430 937459 Group0324 935477 935549 ... (6 Replies)
Discussion started by: thepurple
6 Replies

3. UNIX for Dummies Questions & Answers

Help required on Printing of Numbers, which are missing in the range

Hi Experts, Need help on printing of numbers, which are missing in the range. Pls find the details below Input 1000000002 1000000007 1234007940 1234007946 Output 1000000003 1000000004 1000000005 1000000006 1234007941 (2 Replies)
Discussion started by: krao
2 Replies

4. Shell Programming and Scripting

Fill missing numbers in second column with zeros

Hi All, I have 100 files with names like this: 1.dat, 2.dat, 3.dat until 100.dat. My dat files look like this: 42323 0 438939 1 434 0 0.9383 3434 120.23 3 234 As you can see in the second column, some numbers are missing. I want to fill those missing places with 0's in all... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

5. Shell Programming and Scripting

awk - output-data always two numbers

Hi, my data is like the subsequent snipped. Fieldseperator is TAB. I can work the data well with awk, but the missing zero-numbers at the days column, for the days smaller 10 and the full hour-minutes i cant handle in the output. 2012 7 1 8 40 249.463 245.01 5.70448 6.11388 6.22125... (2 Replies)
Discussion started by: IMPe
2 Replies

6. UNIX for Dummies Questions & Answers

How to combine and insert missing consecutive numbers - awk or script?

Hi all, I have two (2) sets of files that are based on some snapshots of database that I want to merge and insert any missing sequential number. Below are example representation of these files: file1: DATE TIME COL1 COL2 COL3 COL4 ID 01/10/2013 0800 100 ... (3 Replies)
Discussion started by: newbie_01
3 Replies

7. Shell Programming and Scripting

Formatting output using awk in ksh

:oi was trying to write a script to format output of a command in ksh which has output as below: so i used : to get which i require at all times. But problem occurs when status part changes. above output i get when status is SU (success).If the status is IN (inactive), output of... (1 Reply)
Discussion started by: pr5439
1 Replies

8. Shell Programming and Scripting

ksh : need to store the output of a awk command to a array

I have awk command : awk -F ' ' '{ print $NF }' log filename And it gives the output as below: 06:00:00 parameters: SDS (2) no no no no doc=4000000000). information: (6 Replies)
Discussion started by: ramprabhum
6 Replies

9. Shell Programming and Scripting

Help with awk script to get missing numbers in column 1

Hello to all, I have show below a file separated by commas. In first column has numbers where the last number is 13. 1,4 2,6 3,7 5,2 6,5 7,5 8,65 9,10 11,78 13,2 What I want to know is which numbers are missing from 1 to 13 (in this case 13 is last number in column 1). My real... (17 Replies)
Discussion started by: Ophiuchus
17 Replies
ECHO(1) 								FSF								   ECHO(1)

NAME
echo - display a line of text SYNOPSIS
echo [OPTION]... [STRING]... DESCRIPTION
NOTE: your shell may have its own version of echo which will supercede the version described here. Please refer to your shell's documenta- tion for details about the options it supports. Echo the STRING(s) to standard output. -n do not output the trailing newline -e enable interpretation of the backslash-escaped characters listed below -E disable interpretation of those sequences in STRINGs --help display this help and exit --version output version information and exit Without -E, the following sequences are recognized and interpolated: NNN the character whose ASCII code is NNN (octal) \ backslash a alert (BEL)  backspace c suppress trailing newline f form feed new line carriage return horizontal tab v vertical tab AUTHOR
Written by FIXME unknown. REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>. COPYRIGHT
Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. SEE ALSO
The full documentation for echo is maintained as a Texinfo manual. If the info and echo programs are properly installed at your site, the command info echo should give you access to the complete manual. GNU coreutils 4.5.3 February 2003 ECHO(1)
All times are GMT -4. The time now is 02:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy