Sponsored Content
Full Discussion: Strange result
Top Forums Shell Programming and Scripting Strange result Post 302797933 by Corona688 on Tuesday 23rd of April 2013 12:24:57 PM
Old 04-23-2013
From man expr:

Code:
       index STRING CHARS
              index in STRING where any CHARS is found, or 0

I don't think expr can do that.

You can do that with replacement and some arithmetic:

Code:
# Strip everything up to and including string2 from front of string1
string3="${string1##*${string2}}"

if [ "${#string3}" -eq "${#string1}" ]
then
        echo "${string2} not found in ${string1}"
else
        # Remaining length of string3 is length of string1 - (offset+length of string2)
        echo "offset is $(( 1+(${#string1}-${#string3})-${#string2}))"
fi

This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

strange

Hi All I am doing a locate <file_name> on my Redhat 7 System. I am unable to get the output. All the keep getting is: locate: this is not a vlaid slocate database: /var/lib/locate/slocate.db What des this mean? Is my system compromised? Thanks in advance. KS (13 Replies)
Discussion started by: skotapal
13 Replies

2. Solaris

Something strange...

Hi all, Thanks for any replies and for reading in advance. We have upgraded one of our database instances to 10g on a Solaris 8 box, anyhow the other day it started trying to ping loads of weird IP addresses that we don't use, since our systems all run on pretty similar IP's. It all behind... (0 Replies)
Discussion started by: B14speedfreak
0 Replies

3. Shell Programming and Scripting

Outputting formatted Result log file from old 30000 lines result log<help required>

Well I have a 3000 lines result log file that contains all the machine data when it does the testing... It has 3 different section that i am intrsted in 1) starting with "20071126 11:11:11 Machine Header 1" 1000 lines... "End machine header 1" 2) starting with "20071126 12:12:12 Machine... (5 Replies)
Discussion started by: vikas.iet
5 Replies

4. UNIX for Dummies Questions & Answers

display the result of wc -l with words before and after the result

hello showrev -p | wc -l returns: 381 What to do in case I want to have this output: number of lines returned by showrev -p is: 381 thx (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

5. Shell Programming and Scripting

strange output

I had a similar script in solaris and it had no problem. I wrote this one in freeBSD and it gave me strange output. Can anyone please tell me why? thanks a lot #!/bin/sh #This is a shell script that checks file system capacity mounted on /home directory #If file system is over 90% capacity,... (1 Reply)
Discussion started by: k2k
1 Replies

6. Shell Programming and Scripting

awk printing: strange result

Dear all, I am using awk in a bash script to extract a list of x y z coordinates from a file such as: %BEGIN 3D-SPACE COORDINATES 0.2085627338147950 0.2471306816410478 0.2085627338147950 0.1242549179185660 0.2755539793525220 0.4147884486606120 0.2030669560265720 ... (6 Replies)
Discussion started by: pauli
6 Replies

7. Shell Programming and Scripting

Strange variable comparison result in awk

So, I'm making a little awk script that generates a range-based histogram of a set of numbers. I've stumbled onto a strange thing. Toward the end of the process, I have this test: if ( bindex < s ) "bindex" is the "index" of my "bin" (the array element that gets incremented whenever a... (2 Replies)
Discussion started by: treesloth
2 Replies

8. Shell Programming and Scripting

Strange result of eval, how does eval really work with ssh?

Hi all, some small script with eval turned me to crazy. my OS is linux Linux s10-1310 2.6.16.53-0.8.PTF.434477.3.TDC.0-smp #1 SMP Fri Aug 31 06:07:27 PDT 2007 x86_64 x86_64 x86_64 GNU/Linux below script works well #!/bin/bash eval ssh remotehost date eval ssh remotehost ls below... (1 Reply)
Discussion started by: summer_cherry
1 Replies

9. UNIX for Dummies Questions & Answers

Strange result using find command.

I created a file with the permissions of 776. When I ran the command find /root/Desktop -perm -644 -type f The created file shows up as part of the results. Doesn't -perm -mode mean that for global, only 4(read) and 2(write) can be accepted ? (2 Replies)
Discussion started by: Hijanoqu
2 Replies

10. Shell Programming and Scripting

How to compare the current result with previous line result.?

Hi Gurus, I have requirement to compare current result with previous reuslt. The sample case is below. 1 job1 1 1 job2 2 1 job3 3 2 job_a1 1 2 job_a2 2 2 job_a3 3 3 job_b1 1 3 job_b2 2 for above sample file, GID is group ID, for input line, the job run... (1 Reply)
Discussion started by: ken6503
1 Replies
trbsd(1)						      General Commands Manual							  trbsd(1)

NAME
trbsd - Translates characters SYNOPSIS
trbsd [-Acs] string1 string2 trbsd -d [-Ac] string1 The trbsd command copies characters from the standard input to the standard output with substitution or deletion of selected characters. OPTIONS
Translates on a byte-by-byte basis. When you specify this option, trbsd does not support extended characters. Complements (inverts) the set of characters in string1 with respect to the universe of characters whose codes are 001 through 377 octal if you specify -A, and all characters if you do not specify -A. Deletes all characters in string1 from output. Changes characters that are repeated output charac- ters in string2 into single characters. DESCRIPTION
Input characters from string1 are replaced with the corresponding characters in string2. The trbsd command cannot handle an ASCII NUL (00) in string1 or string2; it always deletes NUL from the input. The tr command is a System V compatible version of trbsd. Abbreviations such as a-z, standing for a string of characters whose ASCII codes run from character a to character z, inclusive, can be used to introduce ranges of characters. Note that brackets are not special characters. Use the escape character (backslash) to remove the special meaning from any character in a string. Use the followed by 1, 2, or 3 octal digits for the code of a character. If a given character appears more than once in string1, the character in string2 corresponding to its last appearance in string1 will be used in the translation. EXAMPLES
To translate braces into parentheses, enter: trbsd '{}' '()' <textfile >newfile This translates each { (left brace) to a ( (left parenthesis) and each } (right brace) to a ) (right parenthesis). All other char- acters remain unchanged. To translate lowercase ASCII characters to uppercase, enter: trbsd a-z A-Z <textfile >newfile The two strings can be of different lengths: trbsd 0-9 # <textfile >newfile This translates each digit to a # (number sign); if string2 is too short, it is padded to the length of string1 by duplicating its last character. To translate each string of digits to a single # (number sign), enter: trbsd -s 0-9 # <textfile >newfile To trans- late all ASCII characters that are not specified, enter: trbsd -c ' -~' 'A-_' <textfile >newfile This translates each nonprinting ASCII character to the corresponding control key letter (01 translates to A, 02 to B, and so on). ASCII DEL (177), the character that follows ~ (tilde), translates to a ? (question mark). SEE ALSO
Commands: ed(1), sh(1), tr(1) Files: ascii(5) trbsd(1)
All times are GMT -4. The time now is 09:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy