Sponsored Content
Top Forums Shell Programming and Scripting A better way to compare text length percentage? Post 303046095 by bedtime on Thursday 23rd of April 2020 03:19:12 PM
Old 04-23-2020
Quote:
Originally Posted by sea
Try:
Code:
echo ${#text1} ${#text2} |  awk '{print (100/$1*$2) }'

Hope this helps
Thank you. This is cool in that it seems to solve the 'division by zero' issue. Smilie


Yet this works in only one way.


For example:
Code:
$ text1='ab'; text2='abcd'; s1=${#text1}; s2=${#text2}
$ echo ${#text1} ${#text2} |  awk '{print (100/$1*$2) }'
200

but
Code:
$ text1='abcd'; text2='ab'; s1=${#text1}; s2=${#text2}
$ echo ${#text1} ${#text2} |  awk '{print (100/$1*$2) }'
 50

I need both answers to say 200[%]. The text should be able to be swapped and still say the same value. The order does not matter to me, just how much bigger the bigger value is.


There must be some type of inverse equation or function/app that could be used. Smilie
 

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
File::Queue(3pm)					User Contributed Perl Documentation					  File::Queue(3pm)

NAME
File::Queue - Persistent FIFO queue implemented in pure perl! SYNOPSIS
use strict; # always! use File::Queue; my $q = new File::Queue (File => '/var/spool/yourprog/queue'); $q->enq('some flat text1'); $q->enq('some flat text2'); $q->enq('some flat text3'); # Get up to first 10 elements my $contents = $q->peek(10); my $elem1 = $q->deq(); my $elem2 = $q->deq(); # empty the queue $q->reset(); DESCRIPTION
This module allows for the creation of persistent FIFO queue objects. File::Queue only handles scalars as queue elements. If you want to work with references, serialize them first! The module was written with speed in mind, and it is very fast, but it should be used with care. Please refer to the CAVEATS section. Interface File::Queue implements a OO interface. The object methods and parameters are described below. Methods File::Queue supports all of the queue-related functions a developer should expect. o new() Instantiates your File::Queue object. Parameters are described in the next sub-section. o enq() Enqueues a string element to the queue. o deq() Dequeues a string element from the queue, and returns the element. If the queue is empty, nothing is returned. o peek(n) Returns an arrayref containing the next n elements in the queue. If the queue size is less than n, all elements are returned. If the queue is empty, an empty arrayref is returned. o reset() Emptys the queue. o close() Closes the filehandles belonging to the queue object ('.dat' and '.idx'). o delete() Deletes the files belonging to the queue object ('.dat' and '.idx'). Parameters There are a number of parameters that can be passed when constructing your File::Queue objects. Parameters are case-insensitive. o File (required) File::Queue creates two files using this parameter as the base. In the case of the example in the SYNOPSIS, the two files are '/var/spool/yourprog/queue.dat' and '/var/spool/yourprog.idx'. The '.dat' file holds all of the data, the '.idx' file holds the byte index (pointer) of the starting point of the first element in the queue. o Mode (optional) The file bit mode to be shared by both the '.dat' and '.idx' files. Defaults to '0600'. o Seperator (optional) The character or byte sequence that is used to seperate queue elements in the '.dat' file. It should be something you can guarantee will NEVER appear in your queue data. Defaults to the newline character. o BlockSize (optional) This is the size of the byte chunks that are pulled at each iteration when checking for the end of a queued element. Defaults to 64, which will be fine for most cases, but can be tweaked or tuned for your specific case to squeeze out a few extra nanoseconds. CAVEATS
This module should never be used in situations where the queue is not expected to become empty. The '.dat' file is not truncated (emptied) until the queue is empty. Even the data you've already dequeued remains in the '.dat' file until the queue is empty. If you keep enqueueing elements and never FULLY dequeue everything, eventually your disk will fill up! SEE ALSO
Tie::File AUTHOR
Jason Lavold <jlavold [ at ] gmail.com> perl v5.10.0 2008-12-22 File::Queue(3pm)
All times are GMT -4. The time now is 01:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy