11-16-2009
Need to find a string, check the next line, and if it matches certain criteria, replace it with a s
Hey Fellas.
I am new to scripting. I have searched through the forums and found a lot of good info, but I can't seem to get any of it to work together. I am trying to find a particular sting in a file, and if the next string matches certain criteria, replace it with a string from a csv file. Roughly about 1500 times in the file. I have been trying to do this with awk/sed, but i haven't had the best of luck.
example:
find the string that starts with data7
if the string on the next line has the word prisoner then replace it with the string in line one on the csv file.
the next instance of the pattern would be replaced by the string in line 2 of the csv file. and so on.
the word prisoner appears multiple times in the file, but i only want to replace the ones that directly follow the string containing "data7"
does this make sense?
When i say i'm brand new to scripting i mean BRAND new. I'm taking some classes, but i need to get this done as soon as possible and what i have learned so far hasn't gotten me much closer. any help ya'll can give would be greatly appreciated.
Thanks!
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
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
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
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
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
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
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
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
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
LEARN ABOUT LINUX
git-replace
GIT-REPLACE(1) Git Manual GIT-REPLACE(1)
NAME
git-replace - Create, list, delete refs to replace objects
SYNOPSIS
git replace [-f] <object> <replacement>
git replace -d <object>...
git replace -l [<pattern>]
DESCRIPTION
Adds a replace reference in refs/replace/ namespace.
The name of the replace reference is the SHA-1 of the object that is replaced. The content of the replace reference is the SHA-1 of the
replacement object.
The replaced object and the replacement object must be of the same type. This restriction can be bypassed using -f.
Unless -f is given, the replace reference must not yet exist.
There is no other restriction on the replaced and replacement objects. Merge commits can be replaced by non-merge commits and vice versa.
Replacement references will be used by default by all Git commands except those doing reachability traversal (prune, pack transfer and
fsck).
It is possible to disable use of replacement references for any command using the --no-replace-objects option just after git.
For example if commit foo has been replaced by commit bar:
$ git --no-replace-objects cat-file commit foo
shows information about commit foo, while:
$ git cat-file commit foo
shows information about commit bar.
The GIT_NO_REPLACE_OBJECTS environment variable can be set to achieve the same effect as the --no-replace-objects option.
OPTIONS
-f, --force
If an existing replace ref for the same object exists, it will be overwritten (instead of failing).
-d, --delete
Delete existing replace refs for the given objects.
-l <pattern>, --list <pattern>
List replace refs for objects that match the given pattern (or all if no pattern is given). Typing "git replace" without arguments,
also lists all replace refs.
CREATING REPLACEMENT OBJECTS
git-filter-branch(1), git-hash-object(1) and git-rebase(1), among other git commands, can be used to create replacement objects from
existing objects.
If you want to replace many blobs, trees or commits that are part of a string of commits, you may just want to create a replacement string
of commits and then only replace the commit at the tip of the target string of commits with the commit at the tip of the replacement string
of commits.
BUGS
Comparing blobs or trees that have been replaced with those that replace them will not work properly. And using git reset --hard to go back
to a replaced commit will move the branch to the replacement commit instead of the replaced commit.
There may be other problems when using git rev-list related to pending objects.
SEE ALSO
git-hash-object(1) git-filter-branch(1) git-rebase(1) git-tag(1) git-branch(1) git(1)
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-REPLACE(1)