Sponsored Content
Full Discussion: Parsing a control file loop
Top Forums Shell Programming and Scripting Parsing a control file loop Post 303017312 by Chubler_XL on Sunday 13th of May 2018 10:27:22 PM
Old 05-13-2018
You might have more success in using awk in filter your control file.

Slight change in format of control file:

Code:
RHEL apple
    echo apple
RHEL bravo 
    ls -l bravo*
RHEL church 
    chmod church.txt

SUSE drive
    chown user1 drive.txt
SUSE eagle 
    echo "eagle flies"
SUSE feather
    ls -l feather*

HP-UX google
    sed 's/^Google.*$/&\
ACTION: go to www.google.com/' google.txt

HP-UX heartache
    ls -l heartache.txt* | awk '{ print $9 }'


I set the variable CGRP to be the 2nd param on your control lines. The awk output could be piped to a shell once your happy it's looking OK:

Code:
OPER_SYS="$1"
  
case $OPER_SYS in
    RHEL|SUSE|HP-UX)
    ;;
    *)  echo "Usage $0 [RHEL|SUSE|HP-UX]" >&2
        exit 2
    ;;
esac

awk -v SYS=$OPER_SYS '
  NF==2 && $1==SYS { exec = 1 ; print "CGRP="$2 ; next }
  NF==2 && $1 ~ "(RHEL|SUSE|HP-UX)" { exec = 0 }
  exec { print }' control


example:
Code:
$ ./do_control HPUX
Usage ./do_control [RHEL|SUSE|HP-UX]

$ ./do_control HP-UX
CGRP=google
    sed 's/^Google.*$/&\
ACTION: go to www.google.com/' google.txt

CGRP=heartache
    ls -l heartache.txt* | awk '{ print $9 }'

This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sending control c in the loop

I want to go through the list of items and run it. while running it, some of them will have either >there is no response # and then end it... so that it can go to next item OR >there is response # but in order to break out of it, u need to do Control c. How do you send control... (6 Replies)
Discussion started by: hankooknara
6 Replies

2. Shell Programming and Scripting

find command in while loop - how to get control when no files found?

I have the following statement in script: find ${LANDING_FILE_DIR}${BTIME_FILENAME_PATTERN2} -print | while read file; do ... done When there are no files located by the find comand it returns: "find: bad status-- /home/rnitcher/test/....." to the command line How do I get control in... (3 Replies)
Discussion started by: mavsman
3 Replies

3. Shell Programming and Scripting

for loop control

Hi, I have taken a piece of code from a book, which is working as per the specification. The code.... for entry in * do if then echo $entry fi done The sub-directories present in the current directory will be displayed while executing. ... (3 Replies)
Discussion started by: saravanakumar
3 Replies

4. Shell Programming and Scripting

Control Not Coming Out Of While Loop

I have an empty .gz file in archival directory. And I am redirecting to a dat file. My while loop is not getting ended. I need the solution. cnt=0 while read line do cnt=`expr $cnt + 1` echo "$ARCH_DIR/$line.gz" >> $DATA_DIR/$FILE_LIST_FILE_FEB FILE_NAMES=${FILE_NAMES}"... (2 Replies)
Discussion started by: vinodh1978
2 Replies

5. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies

6. UNIX for Dummies Questions & Answers

For loop control with two variables in csh shell

Hi All How can i control for loop with two different variables in csh shell Regards Nikhil (1 Reply)
Discussion started by: Nikhilindurkar
1 Replies

7. Shell Programming and Scripting

Loop exit control

Hi I would like to exit the loop below on <Enter> even if it sleeps. Is it possible? while true do my_procedure; sleep 60 done Thanks (7 Replies)
Discussion started by: zam
7 Replies

8. Shell Programming and Scripting

Check and control params in parsing file

Hello, I would like to control and check the right parameters $1 must have 4 alphabetics digits among eora qora pora fora $2 must have 2 numerics digits 00 to 11 $3 must have 2 numerics digits 00 to 59 $4 must have 10 characters alpha numerics as 2013-02-26 For example : In case 5) if i... (1 Reply)
Discussion started by: amazigh42
1 Replies

9. Shell Programming and Scripting

Check and control params in parsing file

Hello, I would like to control and check the right parameters $1 must have 4 alphabetics digits among eora qora pora fora $2 must have 2 numerics digits 00 to 11 $3 must have 2 numerics digits 00 to 59 $4 must have 10 characters alpha numerics as 2013-02-26 For example : In case 5) if i... (15 Replies)
Discussion started by: amazigh42
15 Replies

10. Shell Programming and Scripting

Parsing log file and print latest number in loop

Hello All, I have an awk script which parses my log file and prints number grepping from a specific line/pattern, now i have to come with a shell script to continue reading the log untill the job is completed, which i would know while reading session log untill process encounters a final... (1 Reply)
Discussion started by: Ariean
1 Replies
Net::Google::AuthSub(3pm)				User Contributed Perl Documentation				 Net::Google::AuthSub(3pm)

NAME
Net::Google::AuthSub - interact with sites that implement Google style AuthSub SYNOPSIS
my $auth = Net::Google::AuthSub->new; my $response = $auth->login($user, $pass); if ($response->is_success) { print "Hurrah! Logged in "; } else { die "Login failed: ".$response->error." "; } my %params = $auth->auth_params; $params{Content_Type} = 'application/atom+xml; charset=UTF-8'; $params{Content} = $xml; $params{'X-HTTP-Method-Override'} = 'DELETE'; my $request = POST $url, %params; my $r = $user_agent->request( $request ); ABOUT AUTHSUB
AuthSub is Google's method of authentication for their web services. It is also used by other web sites. You can read more about it here. http://code.google.com/apis/accounts/Authentication.html A Google Group for AuthSub is here. http://groups.google.com/group/Google-Accounts-API DEALING WITH CAPTCHAS
If a login response fails then it may set the error code to 'CaptchRequired' and the response object will allow you to retrieve the "captchatoken" and "captchaurl" fields. The "captchaurl" will be the url to a captcha image or you can show the user the web page https://www.google.com/accounts/DisplayUnlockCaptcha Then retry the login attempt passing in the parameters "logintoken" (which is the value of "captchatoken") and "logincaptcha" which is the user's answer to the CAPTCHA. my $auth = Net::Google::AuthSub->new; my $res = $auth->login($user, $pass); if (!$res->is_success && $res->error eq 'CaptchaRequired') { my $answer = display_captcha($res->captchaurl); $auth->login($user, $pass, logintoken => $res->captchatoken, logincaptcha => $answer); } You can read more here http://code.google.com/apis/accounts/AuthForInstalledApps.html#Using METHODS
new [param[s]] Return a new authorisation object. The options are url The base url of the web service to authenticate against. Defaults to "https://google.com/account" service Name of the Google service for which authorization is requested such as 'cl' for Calendar. Defaults to 'xapi' for calendar. source Short string identifying your application, for logging purposes. Defaults to 'Net::Google::AuthSub-<VERSION>' accountType Type of account to be authenticated. Defaults to 'HOSTED_OR_GOOGLE'. See http://code.google.com/apis/accounts/AuthForInstalledApps.html#ClientLogin for more details. login <username> <password> [opt[s]] Login to google using your username and password. Can optionally take a hash of options which will override the default login params. Returns a "Net::Google::AuthSub::Response" object. authorised Whether or not we're authorised. authorized An alias for authorized. auth <username> <token> Use the AuthSub method for access. See http://code.google.com/apis/accounts/AuthForWebApps.html for details. auth_token [token] Get or set the current auth token auth_type [type] Get or set the current auth type Returns either $Net::Google::AuthSub::CLIENT_LOGIN or $Net::Google::AuthSub::AUTH_SUB. request_token <next> <scope> [option[s]] Return a URI object representing the URL which the user should be directed to in order to aquire a single use token. The parameters are next (required) URL the user should be redirected to after a successful login. This value should be a page on the web application site, and can include query parameters. scope (required) URL identifying the service to be accessed. The resulting token will enable access to the specified service only. Some services may limit scope further, such as read-only access. For example http://www.google.com/calendar/feed secure Boolean flag indicating whether the authentication transaction should issue a secure token(1) or a non-secure token(0). Secure tokens are available to registered applications only. session Boolean flag indicating whether the one-time-use token may be exchanged for a session token(1) or not(0). session_token Exchange the temporary token for a long-lived session token. The single-use token is acquired by visiting the url generated by calling request_token. Returns the token if success and undef if failure. revoke_token Revoke a valid session token. Session tokens have no expiration date and will remain valid unless revoked. Returns 1 if success and undef if failure. token_info Call AuthSubTokenInfo to test whether a given session token is valid. This method validates the token in the same way that a Google service would; application developers can use this method to verify that their application is getting valid tokens and handling them appropriately without involving a call to the Google service. It can also be used to get information about the token, including next URL, scope, and secure status, as specified in the original token request. Returns a "Net::Google::AuthSub::Response" object on success or undef on failure. auth_params Return any parameters needed in an HTTP request to authorise your app. AUTHOR
Simon Wistow <simon@thegestalt.org> COPYRIGHT
Copyright, 2007 - Simon Wistow Released under the same terms as Perl itself perl v5.10.0 2009-05-09 Net::Google::AuthSub(3pm)
All times are GMT -4. The time now is 07:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy