The script provided by rdrtx1 can be simplified since we know the input is sorted numerically by the time awk sees it:
If you know that your input file will never be an empty file, you can omit if(last) from the last line of the script.
This User Gave Thanks to Don Cragun For This Post:
I don't recommend the following over Don's suggestion. My approach is less efficient and less maintainable. I offer it only for your amusement, as my attempt at a shortest solution which restricts itself to POSIX-standard utilities.
Note: The pair of double-quotes after $1 shouldn't be necessary, but the oooold mawk that I was testing with wouldn't treat $1 as a string (which current POSIX rules require in that context).
If anyone can conjure something shorter, I'd love to see it.
Dropping the sed (and consequently, a process and making it just a little shorter ):
I have dropped the double-quotes around $1 as the OP seems to be using gawk, which I think will use string comparison in that case.
Last edited by elixir_sinari; 10-20-2012 at 06:12 AM..
Dropping the sed (and consequently, a process and making it just a little shorter ):
Nope. Your suggestion is actually longer. It may be more efficient without the extra process in the pipeline, but it uses more characters.
Quote:
Originally Posted by pamu
My try on it.....
Nice try, pamu, but yours is even a bit longer than elixir's. Also, your suggestion does not output a valid text file (it's missing the final newline).
Removing unnecessary whitespace and using filename "f":
While I've not removed it, I believe there is no need to use sort's -n option. Unless there exists a locale in which the digits do not sort from 0 to 9 -- if such a locale exists, I would truly appreciate being made of aware of it -- if the numbers are the same length, lexicographical and numerical sorting will yield identical results.
Gents,
It is possible to generate a range of values according to column 1 and count the total of rows in the range.
example
input
15.3
15.5
15.8
15.9
16.0
16.1
16.8
17.0
17.5
18.0
output desired
15.0 - 15.9 = 4 (10 Replies)
Dear All,
I am stacked and I ask for your help.
Briefly, I have two files, one like this one (file1):
1 101 5
1 102 6
1 103 2
1 104 9
1 105 10
2 301 89
2 302 4
2 303 13
2 304 34
2 305 1
and the other like this one (file2):
1 103
2 303well, what I am trying to do is obtain a... (2 Replies)
I have a list of columns with values that I need to transform into a row containing the range of each column. For example:
"Column A"
1
2
3
4
10
12
14
15
16
17
18
"Column B"
1
4
5
6 (4 Replies)
I need to return all records in a file starting with
a row that says
TABLE: <tabl name>
lists of hexadecimal records
TABLE: <some table>
TABLe is a key word in the file. I know the name of the table I want to start with. I do not know the name of the table that I will end with. I just... (4 Replies)
I have an array containing distances in ascending order, for example:
distances = 100 120 150 170 200 280 300 ....
I have a number, let's say v = 170 and a variation value, let's say var = 100 . I want to return the array indexes for which the distances cover the range (v - var) to (v +... (3 Replies)
Hi
I have a file with the values
abc
res
set
kls
lmn
ops
i want to sort this file with the null values at the bottom of the file
OUTPUT should look like this
abc
kls
lmn
ops (6 Replies)
Hi,
I have a file with the below like values with integers only in sorted order (May or may not be in sequence)
Eg: File1.txt
-----------
1
2
3
4
5
6
.
.
.
.
.
10000
My requirement here is to create a range of values out put to a temp k (4 Replies)
When I use this command I get an output of some numbers
cat ac.20070511 | cut -d" " -f19
Is there any way for me to display only the numbers that are greater than 1000 but not all the numbers in the ouput.
Can any one help me with this. :) (8 Replies)