Sponsored Content
Top Forums Shell Programming and Scripting extracting substrings from variables Post 302525696 by gary_w on Friday 27th of May 2011 02:01:57 PM
Old 05-27-2011
check the man page

My example works with ksh93 on solaris. You will have to do some searching to see if you can do the equivalent on your system and shell.

P.S. For looping, the syntax to get the number of entries in the array is:
Code:
${#arrayname[*]}

which would allow for dynamically looping through the array. Modified example:
Code:
#!/usr/dt/bin/dtksh

# Set a string variable.
pathlist="/var/x/www|/usr/x/share/doc|/etc/x/logs"
integer ctr=0
integer nbr_elements

# Set the Input Field Separator.
IFS='|'

# Create an array, with elements automatically parsed by the IFS string.
set -A parsed_pathlist_array $pathlist
nbr_elements=${#parsed_pathlist_array[*]}

# Prove it works.  Loop through the array.
while (( $ctr < $nbr_elements ))
do
  print "array element $ctr: ${parsed_pathlist_array[$ctr]}"
  ((ctr+=1))
done

exit 0

I'm not a bash guy, but I played around for the fun of it and this works to parse a string:

Code:
#!/bin/bash

# Set a string variable.
pathlist="/var/x/www|/usr/x/share/doc|/etc/x/logs"
ctr=0

# Set the Input Field Separator.
IFS='|'

# Prove it works.  Loop
for element in $pathlist
do
  echo "substring element $ctr: $element"
  ctr=`expr $ctr + 1`
done

exit 0


Last edited by gary_w; 05-27-2011 at 05:18 PM.. Reason: Added bash example
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

extracting return of ls -l into variables

If I do "ls -l filename" in a script, it should return something like this: -rw-r--r-- 1 user group 5945 Feb 28 14:24 filename How do I put each of the above strings into a different variable? eg Permissions, username, groupname, date (7 Replies)
Discussion started by: Sniper Pixie
7 Replies

2. Shell Programming and Scripting

Breaking strings into Substrings

I'm only new to shell programming and have been given a task to do a program in .sh, however I've come to a point where I'm not sure what to do. This is my code so far: # process all arguments (i.e. loop while $1 is present) while ; do # echo "Arg is $1" case $1 in -h*|-H*) echo "help... (4 Replies)
Discussion started by: switch
4 Replies

3. Shell Programming and Scripting

Extracting a users environment variables

Hi Guys, I want to extract users environment variables via a sh script, and for some reason it is not working. According to the su man page: Example 3: Executing command with user bin's Environment and Permissions To execute command with the temporary environment and per-... (2 Replies)
Discussion started by: Tornado
2 Replies

4. Shell Programming and Scripting

extracting substrings

Hi guys, I am stuck in this problem. Please help. I have two files. FILE1 (with records starting from '>' ) >TC1723_3 similar to Scific_A7Q9Q3 EMSPSQDYCDDYFKLTYPCTAGAQYYGRGALPVYWNYNYGAIGEALKLDLLNHPEYIEQN ATMAFQAAIWRWMNPMKKGQPSAHDAFVGNWKP >TC214_2 similar to Quiet_Ref100_Q8W2B2 Cluster;... (1 Reply)
Discussion started by: smriti_shridhar
1 Replies

5. Shell Programming and Scripting

Extracting variables from echo

Hello all. I can not remember the command to extract a variable from the date command. Basically what I need to do is to store the values of date in variable and rearrange them. I can not remember the command or the syntax to do so. so.. date Mon Mar 8 06:57:19 GMT 2010 $1 $2 ... (12 Replies)
Discussion started by: adelsin
12 Replies

6. Shell Programming and Scripting

extracting multiple variables from a filename.

hi all, I'm trying to automate some tasks and while I've got the script itself working, I'm having difficulties with automatic file detection and associated variable setting... for example, in a directory I've got several files... something along the lines of: xis0_NAME_src.file... (2 Replies)
Discussion started by: u5j84
2 Replies

7. Windows & DOS: Issues & Discussions

Extracting variables between commas : GAWK or SED

Hello, I need some help, I got a CSV file called test.txt with this text in it : 08/02/2011;0,677;0,903;1,079;1,336;1,513;1,683 There's only a line and i need to copy theese numbers into variables : 0,677 0,903 1,079 1,336 1,513 1,683 The output file should look like this... (5 Replies)
Discussion started by: jujulips
5 Replies

8. Shell Programming and Scripting

Extracting substrings from a string of variable length

I have a string like Months=jan feb mar april x y .. Here the number of fields in Months is not definite I need to extract each field in the Months string and pass it to awk . Don't want to use for in since it is a loop . How can i do it (2 Replies)
Discussion started by: Nevergivup
2 Replies

9. UNIX for Dummies Questions & Answers

Extracting a block of text from a large file using variables?

Hi UNIX Members, I've been tasked with performing the following: Extract a block of data in column form #This data changes each time, therefore automating future procedures Please Note the following: line = reading a line from a file_list that leads to the data The filename is called... (16 Replies)
Discussion started by: Klor
16 Replies

10. Shell Programming and Scripting

Awk: passing shell variables through and extracting text

Hello, new to the forums and to awk. Glad to be here. :o I want to pass two shell (#!/bin/sh) variables through to awk and use them. They will determine where to start and stop text extraction. The code with the variables hard-coded in awk works fine; the same code, but with the shell... (7 Replies)
Discussion started by: bedtime
7 Replies
innoextract(1)						      General Commands Manual						    innoextract(1)

NAME
innoextract - tool to extract installers created by Inno Setup SYNOPSIS
innoextract [-behlLqstv] [-ccolor] [-pprogress] installers ... DESCRIPTION
innoextract is a tool that can extract installer executables created by Inno Setup. innoextract will extract files from a installers specified on the command line. To extract a multi-part installer with external data files, only the executable (.exe) file needs to be given as an argument to innoex- tract. OPTIONS
-c --color [enable] By default innoextract will try to detect if the terminal supports shell escape codes and enable or disable color output accord- ingly. Pass 1 or true to --color to force color output. Pass 0 or false to never output color codes. --dump Don't convert Windows paths to UNIX paths and don't substitute variables in paths. -e --extract Extract all files to the current directory. This is the default action. You may only specify one of --extract , --list and --test -h --help Show a list of the supported options. --language [lang] Extract only language-independent files and files for the given language. By default all files are extracted. --license Show license information. -l --list List files contained in the installer but don't extract anything. You may only specify one of --extract , --list and --test -L --lowercase Convert filenames stored in the installer to lower-case before extracting. -p --progress [enable] By default innoextract will try to detect if the terminal supports shell escape codes and enable or disable progress bar output accordingly. Pass 1 or true to --progress to force progress bar output. Pass 0 or false to never show a progress bar. -q --quiet Less verbose output. -s --silent Don't output anything except errors and warnings. -t --test Test archive integrity but don't write any output files. You may only specify one of --extract , --list and --test -v --version Show the innoextract version number and supported Inno Setup versions. LIMITATIONS
innoextract currently only supports extracting all the data. There is no support for extracting individual files, components or languages. Included scripts and checks are not executed. Data is always extracted to the current directory and the mapping from Inno Setup variables like the application directory to subdirecto- ries is hard-coded. innoextract does not check if an installer includes multiple files with the same name and will continually overwrite the destination file when extracting. Names for data files in multi-file installers must follow the standard naming scheme. Encrypted installers are not supported. SEE ALSO
cabextract(1), unshield(1) BUGS
No known bugs. AUTHOR
Daniel Scharrer (daniel@constexpr.org) 1.2 2012-04-01 innoextract(1)
All times are GMT -4. The time now is 08:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy