Sponsored Content
Top Forums Shell Programming and Scripting Bash script reg-exp , replace , open and write Post 302659185 by Corona688 on Wednesday 20th of June 2012 12:53:18 PM
Old 06-20-2012
Never overwrite your originals; that's a recipe for disaster. One mistake and all your code is blown away.

I'd suggest renaming your '.m' files into '.pm' files instead. Create '.m' files out of your '.pm' files when you process them. Like this:

Code:
$ cat ocstr.awk

# If the code contains @"LBL_....", replace it with C_LBL_... and
# remember the labels for later.
match($0, /@"LBL_[0-9]*\"/) {
        S=$0; P=""

        do        # Loop until there's nothing left in the right half
        {
                A[L=substr(S, RSTART+2, RLENGTH-3)]++; # Remember label
                P=P substr(S, 1, RSTART-1) "C_" L;
                S=substr(S, RSTART+RLENGTH);
        }
        while(match(S, /@"LBL_[0-9]*\"/)); # Keep hunting for more labels

        $0=P S; # Update the line to be printed
}

# If we are given file.pm, print into file.m
{       O=FILENAME;
        sub(/[.]pm$/, ".m", O);
        print > O;      }

END {
        for(L in A) printf("NSString *const C_%s = @\"%s\";\n", L, L);
}

$ awk -f ocstr.awk dir/*.pm > list

$ cat list

NSString *const C_LBL_10011 = @"LBL_10011";
NSString *const C_LBL_10012 = @"LBL_10012";
NSString *const C_LBL_10804 = @"LBL_10804";
NSString *const C_LBL_10000 = @"LBL_10000";

$ cat dir/*.m

tableviewlogin.backgroundView = nil;
    [welcometitle setFont:[UIFont fontWithName:FONTB size:FONTSIZETITLE]];
    [welcometitle setText:[MSharedFunctions UF8ErrorMessageForCode:C_LBL_10000]];
    [welcometitle setTextAlignment:UITextAlignmentCenter];
    NSString *buttontitle = [MSharedFunctions UF8ErrorMessageForCode:C_LBL_10012];
    [forgotpassword setTitle:buttontitle forState:UIControlStateNormal];
    [forgotpassword setTitle:buttontitle forState:UIControlStateHighlighted];
    [self.navigationItem setTitle:[MSharedFunctions UF8ErrorMessageForCode:C_LBL_10011]];
    [[self tabBarItem] setTitle:[MSharedFunctions UF8ErrorMessageForCode:C_LBL_10804]];

$

These 2 Users Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using reg. exp. variable in AWK??

Any idea please: How to pass a reg. exp. variable to awk call in a shell??? Thank u #!/bin/sh reg_exp=name awk '/reg_exp/{ print; }' $1 (5 Replies)
Discussion started by: andy2000
5 Replies

2. Shell Programming and Scripting

usage...sed/awk/reg-exp ..in shell scripting

in shell scripting there is extensive usage of i> regular expression ii>sed iii>awk can anyone tell me the suitable contexts ...i mean which one is suitable for what kind of operation. like the reg-exp and sed seems to be doing the same job..i.e pattern matching (1 Reply)
Discussion started by: mobydick
1 Replies

3. Shell Programming and Scripting

reg exp question

Hi, Should be a difference between ']]*' and ']+' ? I use them in bash with sed and grep. Thanks (1 Reply)
Discussion started by: ynir
1 Replies

4. Shell Programming and Scripting

reg exp for sed

$ cat file.txt asd <AA>dev <LL>def <RR>sha This works for me: $ sed -r 's/^ .*<LL>def/\t<LL>my/' file.txt asd <AA>dev <LL>my <RR>sha But, this does not work for me: $ sed -r 's/^\s+<LL>def/\t<LL>my/' file.txt asd ... (1 Reply)
Discussion started by: demoprog
1 Replies

5. UNIX for Dummies Questions & Answers

extract a part of a path like (input: /etc/exp/home/bin ====> output: exp)

Hi, I need to make some extraction . with the following input to get the right output. input: /etc/exp/home/bin ====> output: exp and input: aex1234 ===> output: ex Thanks for your help, (4 Replies)
Discussion started by: yeclota
4 Replies

6. Shell Programming and Scripting

Perl reg exp

Hi, I am using the following piece of code for extracting some data from in between some tags ... $text =~ /<TAG1>(.*)<\/TAG1>.*<TAG2>(.*)<\/TAG2>.*<TAG3>(.*)<\/TAG4>.*<TAG5>(.*)<\/TAG5>/; $tag1=$1; print "\n$tag1"; But I am getting an error like Use of uninitialized value in... (1 Reply)
Discussion started by: King Nothing
1 Replies

7. Shell Programming and Scripting

perl reg-exp

$var1="LEN"; $VAR2="CODLENTT"; now, var2 contains var1(LEN).How do i check this in perl.... whether one string is a part of another..? if (<logic>) { my operation; } what'd be the logic.. (4 Replies)
Discussion started by: vijay_0209
4 Replies

8. Emergency UNIX and Linux Support

Need Help On REG EXP in unix

Respected All, I have a very big xml in that i want to search only below 3 lines. <target name ="UpgradePrimaryBox" depends ="configureBox1"> <echo> Finished Upgrading Primary Box </echo> </target> grep -i "<target.*UpgradePrimaryBox" this gives me the first line. then i need to match... (7 Replies)
Discussion started by: ameyrk
7 Replies

9. Shell Programming and Scripting

Bash script - coloring reg. expressions in text

Hi all, is there anyone good at bash who will help me? I need to use syntax ${string/pattern/replacement} The problematic part where I am stuck is: #!bin/bash text="A cat is on a mat." exp="cat" newexp="SOMECODEcatSOMECODE" newtext=${${text}/${exp}/${newexp}} == > ERROR "wrong... (4 Replies)
Discussion started by: JohnnyM77
4 Replies

10. Shell Programming and Scripting

How to use regular exp to replace the character in the file?

Hi Unix Gurus, yesterday I asked a question and got answer, it works fine. I have one more thing need to help in the code awk '{print substr($0,1,3)"xxx"substr($0,7)}' file If I have 50 charactor's need to be replaced, is there any easy way to use reg exp or I have to input 50 XXXXx......... (12 Replies)
Discussion started by: ken6503
12 Replies
MPSNNDefaultPadding(3)					 MetalPerformanceShaders.framework				    MPSNNDefaultPadding(3)

NAME
MPSNNDefaultPadding SYNOPSIS
#import <MPSNeuralNetworkTypes.h> Inherits NSObject, and <MPSNNPadding>. Instance Methods (NSString *__nonnull) - label Class Methods (instancetype __nonnull) + paddingWithMethod: (instancetype __nonnull) + paddingForTensorflowAveragePooling (instancetype __nonnull) + paddingForTensorflowAveragePoolingValidOnly Method Documentation - (NSString * __nonnull) label Human readable description of what the padding policy does + (instancetype __nonnull) paddingForTensorflowAveragePooling A padding policy that attempts to reproduce TensorFlow behavior for average pooling Most TensorFlow padding is covered by the standard MPSNNPaddingMethod encodings. You can use +paddingWithMethod to get quick access to MPSNNPadding objects, when default filter behavior isn't enough. (It often is.) However, the edging for max pooling in TensorFlow is a bit unusual. This padding method attempts to reproduce TensorFlow padding for average pooling. In addition to setting MPSNNPaddingMethodSizeSame | MPSNNPaddingMethodAlignCentered | MPSNNPaddingMethodAddRemainderToBottomRight, it also configures the filter to run with MPSImageEdgeModeClamp, which (as a special case for average pooling only), normalizes the sum of contributing samples to the area of valid contributing pixels only. // Sample implementation for the tensorflowPoolingPaddingPolicy returned -(MPSNNPaddingMethod) paddingMethod{ return MPSNNPaddingMethodCustom | MPSNNPaddingMethodSizeSame; } -(MPSImageDescriptor * __nonnull) destinationImageDescriptorForSourceImages: (NSArray <MPSImage *> *__nonnull) sourceImages sourceStates: (NSArray <MPSState *> * __nullable) sourceStates forKernel: (MPSKernel * __nonnull) kernel suggestedDescriptor: (MPSImageDescriptor * __nonnull) inDescriptor { ((MPSCNNKernel *)kernel).edgeMode = MPSImageEdgeModeClamp; return inDescriptor; } + (instancetype __nonnull) paddingForTensorflowAveragePoolingValidOnly Typical pooling padding policy for valid only mode + (instancetype __nonnull) paddingWithMethod: (MPSNNPaddingMethod) method Fetch a well known object that implements a non-custom padding method For custom padding methods, you will need to implement an object that conforms to the full MPSNNPadding protocol, including NSSecureCoding. Parameters: method A MPSNNPaddingMethod Returns: An object that implements <MPSNNPadding> for use with MPSNNGraphNodes. Author Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code. Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSNNDefaultPadding(3)
All times are GMT -4. The time now is 05:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy