Sponsored Content
Top Forums Shell Programming and Scripting script to replace numbers on lines according to condition on the same line Post 302486524 by neemoze on Sunday 9th of January 2011 06:26:27 AM
Old 01-09-2011
script to replace numbers on lines according to condition on the same line

hello everyone

my file contains many records, the following is a sample:
Code:
BEGIN
ASX1500000050002010120000000308450201012000177
ASX1100002000000201012000000038450201012000220
ASX1600100005000201012000000038450020101200177
ASX1900100006000201067000000058450020101200177
ASX1100002000000201012300000008450201012000177
ASX1100002000000201012380000000450201012000277
ASX1800100004000201012380000000452010120000177
ASX1100002000000201012380000000450201012000177
ASX1900100006000201067500000008450201012000120
ASX1100005000000201012380000000450201012000377
ASX1100002000000201012380000000450201012000177
ASX1100002000000201012384000000052010120000477
ASX1900100006000201067584000000050201012000177
ASX1900100006000201067584500000000201012000177
ASX1100003000000201012384500000000002010120377
ASX1100003000000201012380000000450201012000177
END

what i need is to:
for each line:
1- search for 13 digits number after ASX and that number starts with 11 and contains 2 at digit 7 of this number
2- after finding this number, search in the same line for the blue three digits
if they = 001 or 002
3- if step 1 and 2 is true (lines with red and blue numbers meet this requirement) then:
replace the digits 7 to 0

the output should be
Code:
ASX1500000050002010120000000308450201012000177
ASX1100000000000201012000000038450201012000220
ASX1600100005000201012000000038450020101200177
ASX1900100006000201067000000058450020101200177
ASX1100000000000201012300000008450201012000177
ASX1100000000000201012380000000450201012000277
ASX1800100004000201012380000000452010120000177
ASX1100000000000201012380000000450201012000177
ASX1900100006000201067500000008450201012000120
ASX1100005000000201012380000000450201012000377
ASX1100000000000201012380000000450201012000177
ASX1100002000000201012384000000052010120000477
ASX1900100006000201067584000000050201012000177
ASX1900100006000201067584500000000201012000177
ASX1100003000000201012384500000000002010120377
ASX1100003000000201012380000000450201012000177
BEGIN
 
END

how to do it?
thank you
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

concatenate and display 2 lines as 1 with a condition for 2 line ?

I have 2 pattern of lines (SQL query and Time taken)in a log i need to capture all SQL queries with time taken >20 sec and need to display as one line. 2 lines from log: 2007-10-23 11:39:17,061 DEBUG - SQL Query : SELECT A.GROUP_CD , C.FN_CD FROM UP_GROUP A , PRD_GROUP_TO_FN B , PRD_FN... (7 Replies)
Discussion started by: vithala
7 Replies

2. Shell Programming and Scripting

Find a line using a condition and replace a string in that line

Hello, I have a 100 line code. I have given a sample of it below: ABC*654654*1*54.54*21.2*87*1*654654654654 CCC*FS*FS*SFD*DSF GGG*FGH*CGB*FBDFG*FGDG ABC*654654*1*57.84*45.4*88*2*6546546545 CCC*WSF*SG*FGH*GHJ ADA*AF*SFG*DFGH*FGH*FGTH I need to select the line starting with "ABC" its... (6 Replies)
Discussion started by: nithins007
6 Replies

3. Emergency UNIX and Linux Support

Find a line using a condition and replace a string in that line

Hello, I have a 100 line code. I have given a sample of it below: ABC*654654*1*54.54*21.2*87*1*654654654654 CCC*FS*FS*SFD*DSF GGG*FGH*CGB*FBDFG*FGDG ABC*654654*1*57.84*45.4*88*2*6546546545 CCC*WSF*SG*FGH*GHJ ADA*AF*SFG*DFGH*FGH*FGTH I need to select the line starting with "ABC" its... (3 Replies)
Discussion started by: nithins007
3 Replies

4. Shell Programming and Scripting

sed&awk: replace lines with counting numbers

Dear board, (I am trying to post this the 3rd time, seems there's some conflicts with my firefox with this forum, now use IE) ------ yes, I have searched the forum, but seems my ? is too complicated. ------------origianl file --------------- \storage\qweq\ertert\ertert\3452\&234\test.rec... (4 Replies)
Discussion started by: oUo
4 Replies

5. Shell Programming and Scripting

Need to delete all lines where any line meets a condition

Here is an example of a file... foo1,good foo1,good foo2,error foo2,good Note that both rows for foo1 have good in the 2nd field, but one of the foo2 rows has error... I need something in ksh/awk/perl that will delete ALL foo2 lines if ANY of them have error in the 2nd field...so: ... (7 Replies)
Discussion started by: dbiggied
7 Replies

6. Shell Programming and Scripting

Replace a multi-line strings or numbers

Hi I have no experience in Unix so any help would be appreciated I have the flowing text 235543 123 45654 199 225 578 45654 199 225 I need to find this sequence from A file 45654 199 225 (22 Replies)
Discussion started by: khaled79
22 Replies

7. UNIX for Dummies Questions & Answers

Replace lines of two files by the corresponding line numbers.

I want to replace lines. The files 1 are (separated by \t) Gm01 phytozome9_0 three_prime_UTR 70641 70759 . - . ID=PAC:26323927.three_prime_UTR.1;Parent=PAC:26323927;pacid=26323927 Gm01 phytozome9_0 three_prime_UTR 90230 90692 . - . ... (1 Reply)
Discussion started by: grace_shen
1 Replies

8. Shell Programming and Scripting

Shell Script to find common lines and replace next line

I want to find common line in two files and replace the next line of first file with the next line of second file. (sed,awk,perl,bash any solution is welcomed ) Case Ignored. Multiple Occurrence of same line. File 1: hgacdavd sndm,ACNMSDC msgid "Rome" msgstr "" kgcksdcgfkdsb... (4 Replies)
Discussion started by: madira
4 Replies

9. UNIX for Dummies Questions & Answers

How can I replace the lines that start with a star and replace it with numbers start from 1?

I need to replace the (*) in the fist of a list with numbers using sed for example > this file contain a list * linux * computers * labs * questions to >>>> this file contain a list 1. linux 2. computers 3. labs 4. questions (7 Replies)
Discussion started by: aalbazie
7 Replies

10. Shell Programming and Scripting

Script using awk to find and replace a line, how to ignore comment lines

Hello, I have some code that works more or less. This is called by a make file to adjust some hard-coded definitions in the src code. The script generated some values by looking at some of the src files and then writes those values to specific locations in other files. The awk code is used to... (3 Replies)
Discussion started by: LMHmedchem
3 Replies
Gtk2::SourceView2::PrintCompositor(3pm) 		User Contributed Perl Documentation		   Gtk2::SourceView2::PrintCompositor(3pm)

NAME
Gtk2::SourceView2::PrintCompositor HIERARCHY
Glib::Object +----Gtk2::SourceView2::PrintCompositor METHODS
printcompositor = Gtk2::SourceView2::PrintCompositor->new ($buffer) o $buffer (Gtk2::SourceView2::Buffer) printcompositor = Gtk2::SourceView2::PrintCompositor->new_from_view ($view) o $view (Gtk2::SourceView2::View) string = $compositor->get_body_font_name $compositor->set_body_font_name ($font_name) o $font_name (string) double = $compositor->get_bottom_margin ($unit) o $unit (Gtk2::Unit) $compositor->set_bottom_margin ($margin, $unit) o $margin (double) o $unit (Gtk2::Unit) buffer = $compositor->get_buffer $compositor->draw_page ($context, $page_nr) o $context (Gtk2::PrintContext) o $page_nr (integer) string = $compositor->get_footer_font_name $compositor->set_footer_font_name ($font_name) o $font_name (string or undef) $compositor->set_footer_format ($separator, $left, $center, $right) o $separator (boolean) o $left (string or undef) o $center (string or undef) o $right (string or undef) string = $compositor->get_header_font_name $compositor->set_header_font_name ($font_name) o $font_name (string or undef) $compositor->set_header_format ($separator, $left, $center, $right) o $separator (boolean) o $left (string or undef) o $center (string or undef) o $right (string or undef) boolean = $compositor->get_highlight_syntax $compositor->set_highlight_syntax ($highlight) o $highlight (boolean) double = $compositor->get_left_margin ($unit) o $unit (Gtk2::Unit) $compositor->set_left_margin ($margin, $unit) o $margin (double) o $unit (Gtk2::Unit) string = $compositor->get_line_numbers_font_name $compositor->set_line_numbers_font_name ($font_name) o $font_name (string or undef) integer = $compositor->get_n_pages boolean = $compositor->paginate ($context) o $context (Gtk2::PrintContext) double = $compositor->get_pagination_progress boolean = $compositor->get_print_footer $compositor->set_print_footer ($print) o $print (boolean) boolean = $compositor->get_print_header $compositor->set_print_header ($print) o $print (boolean) integer = $compositor->get_print_line_numbers $compositor->set_print_line_numbers ($interval) o $interval (integer) double = $compositor->get_right_margin ($unit) o $unit (Gtk2::Unit) $compositor->set_right_margin ($margin, $unit) o $margin (double) o $unit (Gtk2::Unit) integer = $compositor->get_tab_width $compositor->set_tab_width ($width) o $width (integer) double = $compositor->get_top_margin ($unit) o $unit (Gtk2::Unit) $compositor->set_top_margin ($margin, $unit) o $margin (double) o $unit (Gtk2::Unit) wrapmode = $compositor->get_wrap_mode $compositor->set_wrap_mode ($wrap_mode) o $wrap_mode (Gtk2::WrapMode) PROPERTIES
'body-font-name' (string : default undef : readable / writable) Name of the font to use for the text body (e.g. "Monospace 10") 'buffer' (Gtk2::SourceView2::Buffer : default undef : readable / writable / construct-only) The GtkSourceBuffer object to print 'footer-font-name' (string : default undef : readable / writable) Name of the font to use for the page footer (e.g. "Monospace 10") 'header-font-name' (string : default undef : readable / writable) Name of the font to use for the page header (e.g. "Monospace 10") 'highlight-syntax' (boolean : default true : readable / writable) Whether to print the document with highlighted syntax 'line-numbers-font-name' (string : default undef : readable / writable) Name of the font to use for the line numbers (e.g. "Monospace 10") 'n-pages' (integer : default -1 : readable) The number of pages in the document (-1 means the document has not been completely paginated). 'print-footer' (boolean : default false : readable / writable) Whether to print a footer in each page 'print-header' (boolean : default false : readable / writable) Whether to print a header in each page 'print-line-numbers' (Glib::UInt : default 1 : readable / writable) Interval of printed line numbers (0 means no numbers) 'tab-width' (Glib::UInt : default 8 : readable / writable) Width of a tab character expressed in spaces 'wrap-mode' (Gtk2::WrapMode : default "none" : readable / writable) Whether to wrap lines never, at word boundaries, or at character boundaries. ENUMS AND FLAGS
enum Gtk2::Unit o 'pixel' / 'GTK_UNIT_PIXEL' o 'points' / 'GTK_UNIT_POINTS' o 'inch' / 'GTK_UNIT_INCH' o 'mm' / 'GTK_UNIT_MM' enum Gtk2::WrapMode o 'none' / 'GTK_WRAP_NONE' o 'char' / 'GTK_WRAP_CHAR' o 'word' / 'GTK_WRAP_WORD' o 'word-char' / 'GTK_WRAP_WORD_CHAR' SEE ALSO
Gtk2::SourceView2, Glib::Object COPYRIGHT
Copyright (C) 2009 by Emmanuel Rodriguez perl v5.14.2 2011-11-16 Gtk2::SourceView2::PrintCompositor(3pm)
All times are GMT -4. The time now is 03:45 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy