Sponsored Content
Operating Systems AIX Pattern to replace ^M and ^Y in a 4.2 AIX text file Post 302316785 by Browser_ice on Saturday 16th of May 2009 03:14:41 PM
Old 05-16-2009
Question Pattern to replace ^M and ^Y in a 4.2 AIX text file

I have files on my AIX 4.2 client system where I need to do the following replacements below but have no clue how ? They are control characters (linefeed, chariage return, ...).


First, replace "^M^Y^M" with ^char_for_end_of_line
Then replace "^M" with " "
Trim all left spaces

In VI, my files contents look like this :

aaaa zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzz^M
^M
^Y^M
aaaa zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzz^M
^M
^Y^M
aaaa zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzzzz^M
zzzzzzzzzzzzzzzzzzzz^M
^M
^Y^M
...

I want it to be:
aaaa zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz
aaaa zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz
aaaa zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz
aaaa zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz
aaaa zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz
...

Nb of records is unknown.
'zzzzzz' can have any combinations of "(", ")", "'", """, ",", "[", "]", ".", ";" (in other words anything with printable characters)
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

pattern replace inside text file using sed

Hi, I have a situation where I want to replace some occurrences of ".jsp" into ".html" inside a text file. For Example: If a pattern found like <a href="http://www.mysite.com/mypage.jsp"> it should be retained. But if a pattern found like <a href="../mypage.jsp"> it should be changed to... (4 Replies)
Discussion started by: meharo
4 Replies

2. Shell Programming and Scripting

Replace Text Based On Pattern

Hi I'm trying to replace text in a file based upon a pattern. The pattern I'm looking for is: <styleURL>#style0002</styleURL> <name>#######6105#######</name>The # are seven alphanumeric characters before and after 6105. I need it to replace that with this recursively: ... (4 Replies)
Discussion started by: Grizzly
4 Replies

3. Shell Programming and Scripting

Create multiple text file from a single text file on AIX

Hi I need to create multiple text files from onc text file on AIX. The data of text files is as below: ********************************************** ********************************************** DBVERIFY: Release 10.2.0.4.0 - Production on Tue Nov 10 13:45:42 2009 Copyright (c) 1982,... (11 Replies)
Discussion started by: lodhi1978
11 Replies

4. Shell Programming and Scripting

find pattern and replace the text before it

i am editing a big log file with the following pattern: Date: xxxx Updated: name Some log file text here Date: eee Updated: ny Some log file text here Basically i want to remove all the text in a line before the "Updated" pattern. I sill want to print the other... (4 Replies)
Discussion started by: balan1983a
4 Replies

5. Shell Programming and Scripting

Sed command to replace with pattern except for text and closing parentheses

Can someone help me with a sed command: There will be multiple occurences in a file that look like this: MyFunction(12c34r5) and I need to replace that with just the 12c34r5 for every occurrence. The text between the parentheses will be different on each occurrence, so I can't search for that.... (4 Replies)
Discussion started by: missb
4 Replies

6. Shell Programming and Scripting

sed help, Find a pattern, replace it with same text minus leading 0

HI Folks, I'm looking for a solution for this issue. I want to find the Pattern 0/ and replace it with /. I'm just removing the leading zero. I can find the Pattern but it always puts literal value as a replacement. What am I missing?? sed -e s/0\//\//g File1 > File2 edit by... (3 Replies)
Discussion started by: SirHenry1
3 Replies

7. Shell Programming and Scripting

Search and Replace a text if the line contains a pattern

My text file looks like below . . . abcdefghi jklmnop $Bad_ptrq_GTS=rcrd_ip.txt $Bad_abcd_REJ=rcrd_op.txt ghijklm $Bad_abcd_TYHS=rcrd_op.txt abcgd abcdefghi jklmnop $Bad_ptrq_GTS=rcrd_ip.txt (2 Replies)
Discussion started by: machomaddy
2 Replies

8. Shell Programming and Scripting

Pattern replace from a text file using sed

I have a sample text format as given below <Text Text_ID="10155645315851111_10155645333076543" From="460350337461111" Created="2011-03-16T17:05:37+0000" use_count="123">This is the first text</Text> <Text Text_ID="10155645315851111_10155645317023456" From="1626711840902323"... (3 Replies)
Discussion started by: my_Perl
3 Replies

9. Shell Programming and Scripting

Grab text after pattern and replace

i have a file which contains data seperated by comma. i want to replace text after 3rd occurrence of a comma. the input file looks like this abcdef,11/02/2015 11:55:47,1001,1234567812345678,12364,,abc abcdefg,11/02/2015 11:55:47,01,1234567812345678,123,,abc abcdefhih,11/02/2015... (4 Replies)
Discussion started by: gpk_newbie
4 Replies

10. UNIX for Beginners Questions & Answers

Replace pattern in text

hi unix expert is there any command in linux to repace a pattern in the text to another pattern? many thanks samad (2 Replies)
Discussion started by: abdossamad2003
2 Replies
JE::Parser(3pm) 					User Contributed Perl Documentation					   JE::Parser(3pm)

NAME
JE::Parser - Framework for customising JE's parser SYNOPSIS
use JE; use JE::Parser; $je = new JE; $p = new JE::Parser $je; # or: $p = $je->new_parser $p->delete_statement('for', 'while', 'do'); # disable loops $p->add_statement(try => &parser); # replace existing 'try' statement DESCRIPTION
This allows one to change the list of statement types that the parser looks for. For instance, one could disable loops for a mini- JavaScript, or add extensions to the language, such as the 'catch-if' clause of a "try" statement. As yet, "delete_statement" works, but I've not finished designing the API for "add_statement". I might provide an API for extending expressions, if I can resolve the complications caused by the 'new' operator. If anyone else wants to have a go at it, be my guest. :-) METHODS
$p = new JE::Parser Creates a new parser object. $p->add_statement($name, &parser); This adds a new statement (source element, to be precise) type to the list of statements types the parser supports. If a statement type called $name already exists, it will be replaced. Otherwise, the new statement type will be added to the top of the list. ($name ought to be optional; it should only be necessary if one wants to delete it afterwards or rearrange the list.) If the name of a statement type begins with a hyphen, it is only allowed at the 'program' level, not within compound statements. Function declarations use this. Maybe this convention is too unintuitive.... (Does anyone think I should change it? What should I change it too?) &parser will need to parse code contained in $_ starting at "pos()", then either return an object, list or coderef (see below) and set "pos()" to the position of the next token[1], or, if it could not parse anything, return undef and reset "pos()" to its initial value if it changed. [1] I.e., it is expected to move "pos" past any trailing whitespace. The return value of &parser can be one of the following: 1) An object with an "eval" method, that will execute the statement, and/or an "init" method, which will be called before the code runs. 2) (Not yet supported!) A coderef, which will be called when the code is executed. 3) (Not yet supported.) A hash-style list, the two keys being "eval" and "init" (corresponding to the methods under item 1) and the values being coderefs; i.e.: ( init => &init_sub, eval => &eval_sub ) Maybe we need support for a JavaScript function to be called to handnle the statement. $p->delete_statement(@names); Deletes the given statement types and returns $p. $p->statement_list (Not yet implemented.) Returns an array ref of the names of the various statement types. You can rearrange this list, but it is up to you to make sure you do not add to it any statement types that have not been added via "add_statement" (or were not there by default). The statement types in the list will be tried in order, except that items beginning with a hyphen always come before other items. The default list is "qw/-function block empty if while with for switch try labelled var do continue break return throw expr/" $p->parse($code) Parses the $code and returns a parse tree (JE::Code object). $p->eval($code) Shorthand for $p->parse($code)->execute; EXPORTS
None by default. You may choose to export the following: Exported Variables ... blah blah blah ... Exported Functions These all have "()" for their prototype, except for "expected" which has "($)". ... blah blah blah ... SYNTAX ERRORS
(To be written) expected 'aaaa'; # will be changed to 'Expected aaaa but found....' die \"You can't put a doodad after a frombiggle!"; # complete message die 'aoenstuhoeanthu'; # big no-no (the error is propagated) EXAMPLES
Mini JavaScript This is an example of a mini JavaScript that does not allow loops or the creation of functions. use JE; $j = new JE; $p = $j->new_parser; $p->delete_statement('for','while','do','-function'); Since function expressions could still create functions, we need to remove the Function prototype object. Someone might then try to put it back with "Function = parseInt.constructor", so we'll overwrite Function with an undeletable read-only undefined property. $j->prop({ name => 'Function', value => undef, readonly => 1, dontdel => 1 }); Then, after this, we call "$p->eval('...')" to run JS code. Perl-style for(LIST) loop Well, after writing this example, it seems to me this API is not sufficient.... This example doesn't actually work yet. use JE; use JE::Parser qw'$s ident expr statement expected'; $j = new JE; $p = $j->new_parser; $p->add_statement('for-list', sub { /Gfor$s/cog or return; my $loopvar = ident or return; /G$s($s/cog or return; my @expressions; do { # This line doesn't actually work properly because # 'expr' will gobble up all the commas @expressions == push @expressions, expr and return; # If nothing gets pushed on to the # list, we need to give the default # 'for' handler a chance, instead of # throwing an error. } while /G$s,$s/cog; my $statement = statement or expected 'statement'; return bless { var => $loopvar, expressions => @expressions, statement => $statement }, 'Local::JEx::ForList'; } ); package Local::JEx::ForList; sub eval { my $self = shift; local $JE::Code::scope = bless [@$JE::Code::scope], 'JE::Scope'; # I've got to come up with a better interface than this. my $obj = $JE::Code::global->eval('new Object'); push @$JE::Code::scope, $obj; for (@{$self->{expressions}}) { $obj->{ $self->{loopvar} } = $_->eval; $self->{statement}->execute; } } SEE ALSO
JE and JE::Code. perl v5.14.2 2012-03-18 JE::Parser(3pm)
All times are GMT -4. The time now is 01:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy