Sponsored Content
Top Forums Shell Programming and Scripting Need to find a string, check the next line, and if it matches certain criteria, replace it with a s Post 302371831 by frans on Monday 16th of November 2009 10:05:12 AM
Old 11-16-2009
Try this (but a sample could help !)
Code:
#!/bin/bash
Input="data.csv"
I=1
while read LINE
do    #~ find the string that starts with data7
    if [ "${LINE:0:5}" = "data7" ]
    then
        read LINE    #~ if the string on the next line has the word prisoner then replace it with the string in line 1.
        if $(echo "$LINE" | grep -q prisoner)
        then
            head -n$I "$Input" | tail -n1
            (( I ++ ))    #~ the next instance of the pattern would be replaced by the string in line 2 and so on.
        else echo "$LINE"
        fi
    else echo "$LINE"
    fi
done < "$Input" > OutputFile

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace Entire line if any part matches regexp

Hey guys, I have a file that I've slowly been awking, seding, and greping for data entry. I am down to pull the addresses out to insert them into an excel file. Each address is a few lines, but i want to put a semicolon delimiter in between each address so I can export the text file into excel and... (6 Replies)
Discussion started by: Cocoabean
6 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

Find and replace string matching criteria

Dear Friends, I am looking for a way to replace a string (multiple lines) starting with something and ending with something (these two values do not change) with blank. Basically I want to delete this code injection accross many sites and folders. Search Code (across files and folders) that... (2 Replies)
Discussion started by: libras
2 Replies

5. Shell Programming and Scripting

Need a Linux command for find/replace column based on specific criteria.

I'm new to shell programming, I have a huge text file in the following format, where columns are separated by single space: ACA MEX 4O_ $98.00 $127.40 $166.60 0:00 0:00 0 ; ACA YUL TS_ $300.00 $390.00 $510.00 0:00 0:00 0 ; ACA YYZ TS_ $300.00 $390.00 $510.00 0:00 0:00 0 ; ADZ YUL TS_ $300.00... (3 Replies)
Discussion started by: transat
3 Replies

6. Shell Programming and Scripting

Find a text and if condition matches then replace it

Need a script that can find text in a file and replace it accordingly. This is the file I have: while IFS=',' read -r f1 f2 f3 do { nohup /home/testuser/dbmaintenance/sys_offline_maintenance.sh $f1 $f2 $f3 > $f2.out & } done < "/home/testuser/dbmaintenance/week1offlineserver.txt" In... (4 Replies)
Discussion started by: singhhe
4 Replies

7. Shell Programming and Scripting

Replace all string matches in file with unique random number

Hello Take this file... Test01 Ref test Version 01 Test02 Ref test Version 02 Test66 Ref test Version 66 Test99 Ref test Version 99 I want to substitute every occurrence of Test{2} with a unique random number, so for example, if I was using sed, substitution would be something... (1 Reply)
Discussion started by: funkman
1 Replies

8. Shell Programming and Scripting

Replace string of a file with a string of another file for matches using grep,sed,awk

I have a file comp.pkglist which mention package version and release . In 'version change' and 'release change' line there are two versions 'old' and 'new' Version Change: --> Release Change: --> cat comp.pkglist Package list: nss-util-devel-3.28.4-1.el6_9.x86_64 Version Change: 3.28.4 -->... (1 Reply)
Discussion started by: Paras Pandey
1 Replies

9. UNIX for Beginners Questions & Answers

Replace matches string in each line with the arrayvalue in shell

I have a list of value , and need to replace that in my file. Eg: File1 tcname:fail tcname: Pass tcname:skipped File2: 01,02,03 Output: File 1 01:fail 02: Pass 03:Skipped (8 Replies)
Discussion started by: DevAakash
8 Replies
GEDIT(1)						      General Commands Manual							  GEDIT(1)

NAME
gedit - text editor for the GNOME Desktop SYNOPSIS
gedit [OPTION...] [FILE...] [+LINE[:COLUMN]] DESCRIPTION
gedit is the official text editor of the GNOME desktop environment. While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor. It can be used to create and edit all kinds of text files. gedit features a flexible plugin system which can be used to dynamically add new advanced features to gedit itself. OPTIONS
-b, --background Run gedit in the background. --encoding Set the character encoding to be used for opening the files listed on the command line. -g, --geometry=GEOMETRY Set the X geometry window size (WIDTHxHEIGHT+X+Y). --list-encodings Display list of possible values for the encoding option and exit. --new-window Create a new toplevel window in an existing instance of gedit. --new-document Create a new document in an existing instance of gedit. -s, --standalone Run gedit in standalone mode. -w, --wait Open files and block the gedit process. --help Prints the command line options. --version Output version information and exit. FILE Specifies the file to open when gedit starts. If this is not specified, gedit will load a blank file with an "Unsaved Document" label. Multiple files can be loaded if they are separated by spaces. gedit also supports handling of remote files. For example, you can pass the location of a webpage to gedit , like "http://www.gnome.org", or load a file from a FTP server, like "ftp://ftp.gnome.org/robots.txt". +LINE For the first file, go to the line specified by LINE (do not insert a space between the "+" sign and the number). If LINE is miss- ing, go to the last line. COLUMN For the first file, go to the column specified by COLUMN. If COLUMN is missing, go to the first column. BUGS
If you find a bug, please report it at http://bugzilla.gnome.org/enter_bug.cgi?product=gedit. AUTHORS
Paolo Maggi (paolo@gnome.org) Paolo Borelli (pborelli@katamail.com) Steve Frecinaux (code@istique.net) Jesse van den Kieboom (jessevdk@gnome.org) Ignacio Casal Quinteiro <icq@gnome.org> James Willcox (jwillcox@gnome.org) Federico Mena Quintero (federico@novell.com) Chema Celorio 17 May 2010 GEDIT(1)
All times are GMT -4. The time now is 06:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy