Visit Our UNIX and Linux User Community

Top Forums Shell Programming and Scripting A better way to compare text length percentage? Post 303046102 by sea on Thursday 23rd of April 2020 08:32:14 PM
Old 04-23-2020
Quote:
Originally Posted by bedtime
...
Would really like to figure out how to get this to do the equation so as not to have the 'division by zero' error when one or two variables have an empty string. I've tried a bunch of things such as adding '1' to each variable and trying to make it up elsewhere, but each time the values are incorrect.
...
Thats why I prefer functions:
Code:
bigger_value()  { # str1 str2
	[[ ! 2 -eq $# ]] && echo "Usage: $FUNCNAME str1 str2" >&2 && return 1
	echo ${#1} ${#2} | awk '{a=b=$1;($1>$2)?a=$2:b=$2;if(a*b){print int(100/a*b)}}' >&1
	return $?
}

hth

EDIT:
But you still need to figure out a way to 'remove the option' to pass an empty string.
And without knowing how/where you get those strings, we can not help.

Last edited by sea; 04-23-2020 at 09:41 PM..
This User Gave Thanks to sea For This Post:
 
Test Your Knowledge in Computers #115
Difficulty: Easy
Linux is a continuation of the Unix design philosophy.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how can i compare te length of the string

how can i campare te length of the string $var = unix if ( $var -eq 4 ) then.. is it right (6 Replies)
Discussion started by: mail2sant
6 Replies

2. Shell Programming and Scripting

How to Compare two files depend on line length Chars

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)
Discussion started by: elj3dah
4 Replies

3. Shell Programming and Scripting

Need awk script to compare 2 fields in fixed length file.

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)
Discussion started by: Muga801
1 Replies

4. UNIX for Dummies Questions & Answers

compare 2 very large lists of different length

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)
Discussion started by: uiop44
2 Replies

5. Shell Programming and Scripting

changing a variable length text to a fixed length

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)
Discussion started by: dc18
7 Replies

6. Shell Programming and Scripting

Aligning text files by max field length

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)
Discussion started by: physalis2099
7 Replies

7. UNIX for Dummies Questions & Answers

print variable length text from the middle of a line?

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)
Discussion started by: darkfalz
7 Replies

8. Shell Programming and Scripting

awk to output the percentage of a field compared to length

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)
Discussion started by: cmccabe
6 Replies

9. Shell Programming and Scripting

Compare string length to a number

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)
Discussion started by: rajneesh4U
8 Replies

10. Shell Programming and Scripting

Extracting fixed length number from a text file

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
IDIFF(1)                                                      General Commands Manual                                                     IDIFF(1)

NAME
idiff - compare two images SYNOPSIS
idiff [options] image1 image2 DESCRIPTION
The idiff utility is invoked as follows: idiff [options] image1 image2 Where input1 and input2 are the names of two image files that should be compared. They may be of any format recognized by OpenImageIO (i.e., for which image-reading plugins are available). If the two input images are not the same resolutions, or do not have the same number of channels, the comparison will return FAILURE imme- diately and will not attempt to compare the pixels of the two images. If they are the same dimensions, the pixels of the two images will be compared, and a report will be printed including the mean and maximum error, how many pixels were above the warning and failure thresholds, and whether the result is PASS, WARNING, or FAILURE. For example: $ idiff a.jpg b.jpg Comparing "a.jpg" and "b.jpg" Mean error = 0.00450079 RMS error = 0.00764215 Peak SNR = 42.3357 Max error = 0.254902 @ (700, 222, B) 574062 pixels (82.1%) over 1e-06 574062 pixels (82.1%) over 1e-06 FAILURE The "mean error" is the average difference (per channel, per pixel). The "max error" is the largest difference in any pixel channel, and will point out on which pixel and channel it was found. It will also give a count of how many pixels were above the warning and failure thresholds. The metadata of the two images (e.g., the comments) are not currently compared; only differences in pixel values are taken into considera- tion. For a complete description, see /usr/share/doc/libopenimageio-dev/openimageio.pdf.gz. OPTIONS
--help Print help message -v Verbose status messages -a Compare all subimages/miplevels Thresholding and comparison options -fail %g Failure threshold difference (0.000001) -failpercent %g Allow this percentage of failures (0) -hardfail %g Fail if any one pixel exceeds this error (infinity) -warn %g Warning threshold difference (0.00001) -warnpercent %g Allow this percentage of warnings (0) -hardwarn %g Warn if any one pixel exceeds this error (infinity) -p Perform perceptual (rather than numeric) comparison Difference image options -o %s Output difference image -od Output image only if nonzero difference -abs Output image of absolute value, not signed difference -scale %g Scale the output image by this factor SEE ALSO
iconvert(1), igrep(1), iinfo(1), iprocess(1), iv(1), maketx(1), oiiotool(1). AUTHOR
OpenImageIO was written by Larry Gritz and the other authors and contributors. This manual page was written by IRIE Shinsuke <irieshinsuke@yahoo.co.jp>, for the Debian project (and may be used by others). May 19, 2012 IDIFF(1)

Featured Tech Videos

All times are GMT -4. The time now is 07:59 AM.
Unix & Linux Forums Content Copyright 1993-2020. All Rights Reserved.
Privacy Policy