08-19-2012
Looks like you've got two problems in your script - obviously both with the linewhile [ $j -le ${problem_arr[@]} ]
First: ${problem_arr[@]} will yield ALL array members and the shell should complain when trying to compare. I guess you want it to read ${#problem_arr[@]} which yields the count of members in array.
Second: You correctly start the loop at j=0, but you run it one too far up - ${problem_arr[${#problem_arr[@]}]} will be empty and thus sed complains. make the comparison [ $j -lt ... ] and it will fly.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I'm trying following:echo "test line XA24433 test" | sed 's/.*X\(.*\)/X\1/'
XA24433 test While I want the output as: XA24433
I want to grab the words starting with letter X till the next space, this word can be anywhere in the line. (9 Replies)
Discussion started by: nervous
9 Replies
2. Shell Programming and Scripting
Hi!
I'm trying to write a regexp but I have no luck...
I have a string like this:
param1=sometext¶m2=hello¶m3=bye
Also, the string can be simply:
param2=hello
I want to return the value of param2: "hello".
How can I do this?
Thanks. (3 Replies)
Discussion started by: GagleKas
3 Replies
3. Shell Programming and Scripting
Hi
I need to get text that are within ""
For example
File:
asdasd "test test2" sadasds asdda asdasd "demo demo2"
Output:
test test2 demo demo2
Any help is good
Thank you (12 Replies)
Discussion started by: blito_loco
12 Replies
4. Shell Programming and Scripting
please consider this:
echo "11111*X*005010X279~ST*270*1111111*005010X279~BHT*0011*11" | sed 's/.*\(005010X(\d)(\d)(\d)*\).*$/\1/'i'm searching for first occurrence of 005010X while leaving rest of characters out.
:confused:
any tips? thnx in advance guys. (7 Replies)
Discussion started by: grep01
7 Replies
5. Shell Programming and Scripting
CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error.
source $CA_VERSION_DATA
if * ]
then
echo "CA_RELESE $CA_RELEASE is invalid"
exit -1
fi
+ source /etc/ncgl/ca_version_data
++ CA_PRODUCT_ID=samxts
++ CA_RELEASE=6
++ CA_WEEK_NO=7
++... (3 Replies)
Discussion started by: ketkee1985
3 Replies
6. UNIX for Dummies Questions & Answers
Hi ,
I am learing sed
echo abc 123 def 456 | sed 's|\(*\) \(*\)|\1|'
is returning abc def 456
i was hoping abc def "\1" should only print the occurence of the first pattern
but according to my understanding it is just removing the first occurence of the second pattern... (7 Replies)
Discussion started by: max_hammer
7 Replies
7. Shell Programming and Scripting
I have read many threads, but I still didn't find the right answer. May be i didn't find the right thread, though are so many threads for the same question.
Basically the situation is - find date in a file and replace it with another date. (its not homework, its part of lot of a big processing,... (10 Replies)
Discussion started by: avinthm
10 Replies
8. Programming
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
Discussion started by: jessy83
1 Replies
9. Shell Programming and Scripting
Hi , I need to remove pipe character from a |^ delimeted file.
Something like |^tran|sformers||^|revenge |of fallen|^ to
|^transformers|^revenge of fallen|^...
Cold anybody please help to build the regular expression using sed .
many thanks.
Please use code tags next time for... (1 Reply)
Discussion started by: kokjek
1 Replies
LEARN ABOUT DEBIAN
fstrcmp
fstrcmp(1) General Commands Manual fstrcmp(1)
NAME
fstrcmp - fuzzy comparison of strings
SYNOPSIS
fstrcmp [ -p ] first-string second-string
fstrcmp -w first-string second-string
fstrcmp -a first-file second-file
fstrcmp -s needle haystack...
fstrcmp --version
DESCRIPTION
The fstrcmp command is used to make fuzzy comparisons between strings. The "edit distance" between the strings is printed, with 0.0 mean-
ing the strings are utterly un-alike, and 1.0 meaning the strings are identical.
You may need to quote the string to insulate them from the shell.
OPTIONS
The fstrcmp command understands the following options:
-a
--files-as-bytes
This option is used to compare two files as arrays of bytes. See fmemcmp(3) for more information.
-p
--pair This option is used to compare two strings as arrays of bytes. This is the default. See fstrcmp(3) for more information.
-s
--select
This option is used to select the closest needle from the provided haystack alternatives. The most similar (single) choice is
printed. If none are particularly similar, nothing is printed. See fstrcmp(3) for more information. See below for example.
-V
--version
This option may be used to print the version of the fstrcmp command, and then exit.
-w
--wide-pair
This option is used to compare two multi-byte character strings. See fstrcoll(3) for more information.
EXIT STATUS
The fstrcmp command exits with status 1 on any error. The fstrcmp command only exits with status 0 if there are no errors.
EXAMPLE
The fstrcmp --select option may be used in a shell script to improve error messages.
case "$action" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "$0: action "$action" unknown" 1>&2
guess=`fstrcmp --select "$action" stop start restart`
if [ "$guess" ]
then
echo "$0: did you mean "$guess" instead?" 1>&2
fi
exit 1
;;
esac
Thus, the error message frequently suggests the correct action in the face of simple finger problems on the command line.
SEE ALSO
fstrcmp(3)
fuzzy comparison of strings
fstrcoll(3)
fuzzy comparison of two multi-byte character strings
fstrcmpi(3)
fuzzy comparison of strings, integer variation
COPYRIGHT
fstrcmp version 0.4
Copyright (C) 2009 Peter Miller
Peter Miller <pmiller@opensource.org.au>
The comparison code is derived from the fuzzy comparison functions in GNU Gettext 0.17. The GNU Gettext comparison functions were, in
turn, derived from GNU Diff 2.7.
Copyright (C) 1988-2009 Free Software Foundation
fstrcmp(1)