Hello I'm very new to Linux and shell scripting so I only know basic stuff. I'm making a script with the purpose of finding the longest string or word in a file. Here's what I got so far:
So basically the script will use a file given in the command line which contains words and then return the longest one.
This is the file I'm using to test it out it's called test:
now I run it with bash -x script2 test
so I can see what's happening and this is what I get:
So by the looks of it it's just replacing the value of the current word with the next one.
So my question is how can I accurately compare the words so it returns the longest one?
I'm guessing my mistake is in this line:
Minor nitpick:
Otherwise it will break for filenames with spaces or strange characters..
Quote:
Originally Posted by SCB
[..]So by the looks of it it's just replacing the value of the current word with the next one.[..]
It is keeping the one that is lexically greater. If somehow the shorter string were padded with leading spaces to make them equal length, then your comparison would work, if you enclosed both variables in double quotes. But doing so would involve knowing the length of the larger of the two variables and that's what you were set to find out in the first place
Last edited by Scrutinizer; 04-08-2012 at 03:13 AM..
Hi I tried the following string comparison script in Ksh88
#!/bin/ksh
str1='aC'
str2='ABC'
if
then
echo "Equal"
else
echo "Not Equal"
fi
Though str1 and str2 are not equal the script output says Equal .
Please correct me
Thanks (2 Replies)
Hey guys how do I compare 2 strings from the text file,
and check for duplication?
For example, I add an item call Laptop, it will record to the textfile call file.
If it detects duplicate it will say the record record exist?
file.txt contains
Laptop:Sony:1000
Phone:Apple:30
A head... (4 Replies)
Hello All
Please I have got a file called DATE.tex which consist of
01-04-2008_12:00:00
01-04-2005_12:00:00
01-04-2003_12:00:00
01-04-2007_12:00:00
01-04-2002_12:00:00
01-04-2009_12:00:00
I want to use nawk to print out the dates >=01-04-2009_12:00:00
I tried this
cat plnt.new |... (6 Replies)
hi All
i am facing prob in comparing two strings that have two word.
below is the code snippet.
checkValidates="file validates"
file3_name="file"
if
then
echo "file" $file3_name "is validated successfully"
fi
when i run this i get the error as -bash: [: too many arguments
... (1 Reply)
i have a string in a file which gets repeated number of times like below:
rpttxt("abc")
.
.
rpttxt("REP_TITLE")
rpttxt("BOS_TITLE")
.
.
.
.
and so on
using awk or grep how can i comapre the string( as the second half keeps varying) and store it in a temporary variable? I am using the... (3 Replies)
Hi All,
While I am trying to run below code I Am getting the exception like
./abs.sh: line 102: syntax error near unexpected token `then'
./abs.sh: line 102: ` then'
The Code Snippet is:
if then
cat $file1 | sed -e... (8 Replies)
Hi
How do i compare two strings in shell script. Below is an example but I am not getting the desired output, plz help
if
then
echo success
fi
I am not getting the desired output if I do this. plz help (24 Replies)