Why?
In your 2nd example, the 2nd value is 50% of the first value. (${#text1} > ${#text2})
That is 100% accurate.
If you want to get only the bigger value, you need to switch the echo'd values, or you change the order within the awk statement.
Or you make a check for which command to take.
I need to compare two files with exactly same length as example: -
File1 contain 500 records with length of 640 chars of each line.
File2 contain 1500 records with length of 640 chars of each line.
I need get an output to be written in File3 which will contain 1000 records difference.
but... (4 Replies)
Need a script that manipulates a fixed length file that will compare 2 fields in that file and if they are equal write that line to a new file.
i.e. If fields 87-93 = fields 119-125, then write the entire line to a new file. Do this for every line in the file. After we get only the fields... (1 Reply)
I have two very large datasets (>100MB) in a simple vertical list format. They are of different size and with different order and formatting (e.g. whitespace and some other minor cruft that would thwart easy regex).
Let's call them set1 and set2.
I want to check set2 to see if it contains... (2 Replies)
Hi,
Can anyone help with a effective solution ?
I need to change a variable length text field (between 1 - 18 characters) to a fixed length text of 18 characters with the unused portion, at the end, filled with spaces.
The text field is actually field 10 of a .csv file however I could cut... (7 Replies)
Hello,
Is there anyway that I can align a pipe delimited text file by the maxium field length where the field is separated out by pipes for large text files with more than
100,000 rows?
So, far I have searched other forums and google about aligning text files in unix and I have noticed that... (7 Replies)
I am trying to get text from a webpage, in terminal form. So far I am:
1. getting the html for the page printed using curl (curl -s webpage.com), which is then
2. piped to awk, printing line number 29 (awk NR==29), then
3. this is where I am sort of lost. I know where in the printed line I... (7 Replies)
The awk below using the sample input would output the following: Basically, it averages the text in $5 that matches if $7 < 30 .
awk '{if(len==0){last=$5;total=$7;len=1;getline}if($5!=last){printf("%s\t%f\n", last,... (6 Replies)
Hi,
I want to compare strings length to a number but i am getting error. I want first name should be length of 8.
Please help.
#bin !/bin/bash
clear
echo -n "Enter name "
read name
IFS=_
ary=($name)
for key in "${!ary}"; do echo "$key${ary}"; done
##First name should be equal to 8... (8 Replies)
Hi,
I have a text file with sample records as
CASE ID: 20170218881083
Original presentment record for ARN not found
for Re-presentment
I want to extract the 23 digit number from this file. I thought of using grep but initially couldn't extract the required number. However, after... (16 Replies)
Discussion started by: dsid
16 Replies
LEARN ABOUT CENTOS
strverscmp
STRVERSCMP(3) Linux Programmer's Manual STRVERSCMP(3)NAME
strverscmp - compare two version strings
SYNOPSIS
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <string.h>
int strverscmp(const char *s1, const char *s2);
DESCRIPTION
Often one has files jan1, jan2, ..., jan9, jan10, ... and it feels wrong when ls(1) orders them jan1, jan10, ..., jan2, ..., jan9. In
order to rectify this, GNU introduced the -v option to ls(1), which is implemented using versionsort(3), which again uses strverscmp().
Thus, the task of strverscmp() is to compare two strings and find the "right" order, while strcmp(3) finds only the lexicographic order.
This function does not use the locale category LC_COLLATE, so is meant mostly for situations where the strings are expected to be in ASCII.
What this function does is the following. If both strings are equal, return 0. Otherwise find the position between two bytes with the
property that before it both strings are equal, while directly after it there is a difference. Find the largest consecutive digit strings
containing (or starting at, or ending at) this position. If one or both of these is empty, then return what strcmp(3) would have returned
(numerical ordering of byte values). Otherwise, compare both digit strings numerically, where digit strings with one or more leading zeros
are interpreted as if they have a decimal point in front (so that in particular digit strings with more leading zeros come before digit
strings with fewer leading zeros). Thus, the ordering is 000, 00, 01, 010, 09, 0, 1, 9, 10.
RETURN VALUE
The strverscmp() function returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be earlier than,
equal to, or later than s2.
CONFORMING TO
This function is a GNU extension.
SEE ALSO rename(1), strcasecmp(3), strcmp(3), strcoll(3)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2001-12-19 STRVERSCMP(3)