Sponsored Content
Top Forums Shell Programming and Scripting Need Help Matching a Substring Post 302397533 by rjlohman on Monday 22nd of February 2010 12:45:08 PM
Old 02-22-2010
Need Help Matching a Substring

All:
I am having trouble with matching substrings, and could use some input. I have a list of files in the form /path/to/filename.ext stored in a text file (one file per line; was created with find) referenced by $TEMPFILE. I need to take each file in the list and search for any number of substrings in that line (i.e., the path includes "string1" or part of the filename includes "string2", etc.) My first attempt was slong the lines of:

Code:
PRIHIGHPTRN="/ind"
PRILOWPTRN="/net"
...
for file in `cat ${TEMPFILE}`
do
...
  nawk -v cfile="$file" -v phi="$PRIHIGHPTRN" -v plo="$PRILOWPTRN" ' {
    if (index(cfile, phi)) {
      print "    <priority>1.0</priority>"
    } else {
      if (index(cfile, plo)) {
        print "    <priority>0.1</priority>"
      } else {
        print "    <priority>0.5</priority>"
      }
    }
  } ' >> ${XMLTMPFILE}

done

With this approach (using awk's index() function), it's been an unending chain of 'fix one problem, create a new one' for two days, now. If there's something that doesn't use awk, I'd be ecstatic to know, otherwise, some help with the block above would be not be turned away. This is on Solaris 5.8. The problem with the code above is that the script hangs just before writing the <priority></priority> line (no errors).

TIA
RJL
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Again Substring!!!! Help

Hi, To remove the date and time from the below data which is in a file abc.txt 29 Jul 2009 04:36:53,956 ERROR 1 Error with Java 29 Jul 2009 04:36:58,335 ERROR 2 29 Jul 2009 05:37:24,746 ERROR 3 I want the output as ERROR 1 Error with Java ERROR 2 ERROR 3 As, In the above... (2 Replies)
Discussion started by: Pank10
2 Replies

2. Shell Programming and Scripting

substring

I have a string '<Hi>abc</Hi>" How to print "abc" (6 Replies)
Discussion started by: sandy1028
6 Replies

3. UNIX for Dummies Questions & Answers

Getting Substring

Hi, I hav a string lets say aa.txt:bb:txt length of the string can vary.. I have to keep the token inside a array and the delimiter is : plz send me the code (2 Replies)
Discussion started by: Deekay.p
2 Replies

4. Shell Programming and Scripting

Matching the substring and join two files

Hi I had two files like below. file-1 101001234567890 101001234567891 101001234567892 101001234567893 101001234567894 101001234567895 101001234567896 101001234567897 101001234567898 101001234567899 file-2 (6 Replies)
Discussion started by: p_sai_ias
6 Replies

5. Shell Programming and Scripting

Substring by matching a pattern

Hi, I have a string which is in the below format "/abc/123/xyz/HI_I_AM_THE_FILE_12122012123456.TXT" I want to extract the file name which is "HI_IAM_THE_FILE_12122012123456.TXT". the depth of the directory in which the file is sitting may vary. The file can sit in /abc/123/xyz or... (2 Replies)
Discussion started by: siddu_chittari
2 Replies

6. Shell Programming and Scripting

Insert lines above matching line with content from matching

Hi, I have text file: Name: xyz Gender: M Address: "120_B_C; ksilskdj; lsudlfw" Zip: 20392 Name: KLM Gender: F Address: "65_D_F; wnmlsi;lsuod;,...." Zip:90233I want to insert 2 new lines before the 'Address: ' line deriving value from this Address line value The Address value in quotes... (1 Reply)
Discussion started by: ysrini
1 Replies

7. Shell Programming and Scripting

Compare file1 for matching line in file2 and print the difference in matching lines

Hello, I have two files file 1 and file 2 each having result of a query on certain database tables and need to compare for Col1 in file1 with Col3 in file2, compare Col2 with Col4 and output the value of Col1 from File1 which is a) not present in Col3 of File2 b) value of Col2 is different from... (2 Replies)
Discussion started by: RasB15
2 Replies

8. Shell Programming and Scripting

awk to combine all matching dates and remove non-matching

Using the awk below I am able to combine all the matching dates in $1, but I can not seem to remove the non-matching from the file. Thank you :). file 20161109104500.0+0000,x,5631 20161109104500.0+0000,y,2 20161109104500.0+0000,z,2 20161109104500.0+0000,a,4117... (3 Replies)
Discussion started by: cmccabe
3 Replies

9. Shell Programming and Scripting

Remove lines matching a substring in a specific column

Dear group, I have following input text file: Brit 2016 11 18 12 00 10 1.485,00 EUR Brit 2016 11 18 12 00 10 142,64 EUR Brit 2016 11 18 12 00 10 19,80 EUR Brit 2016 11 18 12 00 10 545,00 EUR Brit 2016 11 18 12 00 10 6.450,00 EUR... (3 Replies)
Discussion started by: gfhsd
3 Replies

10. Shell Programming and Scripting

awk to update field using matching value in file1 and substring in field in file2

In the awk below I am trying to set/update the value of $14 in file2 in bold, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (2 Replies)
Discussion started by: cmccabe
2 Replies
OSASCRIPT(1)						    BSD General Commands Manual 					      OSASCRIPT(1)

NAME
osascript -- execute OSA scripts (AppleScript, JavaScript, etc.) SYNOPSIS
osascript [-l language] [-i] [-s flags] [-e statement | programfile] [argument ...] DESCRIPTION
osascript executes the given OSA script, which may be plain text or a compiled script (.scpt) created by Script Editor or osacompile(1). By default, osascript treats plain text as AppleScript, but you can change this using the -l option. To get a list of the OSA languages installed on your system, use osalang(1). osascript will look for the script in one of the following three places: 1. Specified line by line using -e switches on the command line. 2. Contained in the file specified by the first filename on the command line. This file may be plain text or a compiled script. 3. Passed in using standard input. This works only if there are no filename arguments; to pass arguments to a STDIN-read script, you must explicitly specify ``-'' for the script name. Any arguments following the script will be passed as a list of strings to the direct parameter of the ``run'' handler. For example, in AppleScript: a.scpt: on run argv return "hello, " & item 1 of argv & "." end run % osascript a.scpt world hello, world. The options are as follows: -e statement Enter one line of a script. If -e is given, osascript will not look for a filename in the argument list. Multiple -e options may be given to build up a multi-line script. Because most scripts use characters that are special to many shell programs (for example, AppleScript uses single and double quote marks, ``('', ``)'', and ``*''), the statement will have to be correctly quoted and escaped to get it past the shell intact. -i Interactive mode: osascript will prompt for one line at a time, and print the result, if applicable, after each line. Any script sup- plied as a command argument using -e or programfile will be loaded, but not executed, before starting the interactive prompt. -l language Override the language for any plain text files. Normally, plain text files are compiled as AppleScript. -s flags Modify the output style. The flags argument is a string consisting of any of the modifier characters e, h, o, and s. Multiple modi- fiers can be concatenated in the same string, and multiple -s options can be specified. The modifiers come in exclusive pairs; if con- flicting modifiers are specified, the last one takes precedence. The meanings of the modifier characters are as follows: h Print values in human-readable form (default). s Print values in recompilable source form. osascript normally prints its results in human-readable form: strings do not have quotes around them, characters are not escaped, braces for lists and records are omitted, etc. This is generally more useful, but can introduce ambiguities. For example, the lists '{"foo", "bar"}' and '{{"foo", {"bar"}}}' would both be displayed as 'foo, bar'. To see the results in an unambiguous form that could be recompiled into the same value, use the s modifier. e Print script errors to stderr (default). o Print script errors to stdout. osascript normally prints script errors to stderr, so downstream clients only see valid results. When running automated tests, how- ever, using the o modifier lets you distinguish script errors, which you care about matching, from other diagnostic output, which you don't. SEE ALSO
osacompile(1), osalang(1), AppleScript Language Guide HISTORY
osascript in Mac OS X 10.0 would translate ' ' characters in the output to ' ' and provided c and r modifiers for the -s option to change this. osascript now always leaves the output alone; pipe through tr(1) if necessary. Prior to Mac OS X 10.4, osascript did not allow passing arguments to the script. Mac OS X April 24, 2014 Mac OS X
All times are GMT -4. The time now is 03:05 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy