10-13-2010
Locate text in file then remove and replace
I'm trying to locate a block of text in a file, remove it and then replace with a new block.
I can find the first line number that the text starts on using grep -n. I then need to locate the ending line by searching for the string "}" that follows the line I found. Here's the steps I need to follow:
1. Get line# of string "A" in file
2. Get line# of string "B" based on starting line found in #1. (there are multiple occurences of this string, so I need to locate this string that not from the beginning of the file, but from the starting point that I found string A)
3. Remove block of lines from #1 to #2 and replace with a new set of lines.
I know this is kinda complex, and will probably need an awk input file. I know awk, but not THAT well....
Thanks all!
Lloyd
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to write a script that kills old sessions, I've posted here over the past few days and the script is just about perfect except I want to be given the option to exclude specified PIDs from being killed. this is the entire script:
if
then
rm /tmp/idlepids
fi
if
then
rm... (2 Replies)
Discussion started by: raidzero
2 Replies
2. UNIX for Dummies Questions & Answers
I have a text file with following content (3 lines)
filename : output.txt
first line:12/12/2008
second line:12/12/2008
third line:Y
I would like to know how we can replace 'Y' with 'N' in the 3rd line keeping 1st and 2nd lines same as what it was before.
I tried using cat output.txt... (4 Replies)
Discussion started by: santosham
4 Replies
3. Shell Programming and Scripting
Hello all,
How would I go to a particular line in a file and remove certain text from it and replace with something that I want it to be there.
like: file /etc/abc
now look for line HOME="/export/xyz" in /etc/abc
and then replace with HOME=/"export/xyz1"
thanks in advance guys. (1 Reply)
Discussion started by: solaix14
1 Replies
4. Shell Programming and Scripting
I am trying to write a shell script that will allow the typing of a value, then using that value to replace data in a text file.
I suspect I need sed.
The format of the file is:
Variable1:Value1
Variable2:Value2
The interaction would be something like:
Shell Prompt: "Please enter the... (9 Replies)
Discussion started by: cleanden
9 Replies
5. Shell Programming and Scripting
All,
So, I have an ldif file that contains about 6500 users worth of data. Some users have a block of text I'd like to remove, while some don't.
Example (block of text in question is the block starting with "authAuthority: ;Kerberosv5"):
User with text block:
# username, users,... (7 Replies)
Discussion started by: staze
7 Replies
6. Shell Programming and Scripting
Hello,
Consider that i have many files that have the below format:
file1
900 7777
1000 5 6 23 nnnnnnnnnnnnnnnnnn
1100 kkkkkkk
file2
900 1989
1000 5 3 10 kkkdfdfdffd
1100 kkkkkkk
What i would like to do is on every file to search the line that starts with... (4 Replies)
Discussion started by: chriss_58
4 Replies
7. Shell Programming and Scripting
Gents,
I would like to remove some lines from a big file ( file2).
The objetive is to remove all the lines in file2 containing a certain string which are in file data2delete..
file data2delete contens:
2573.0 7260.01
2893.0 7255.01
2903.0 7245.01
2897.0 7255.01
2561.0 7255.01... (6 Replies)
Discussion started by: jiam912
6 Replies
8. Shell Programming and Scripting
Hi, i need to read a line from a file and count the number of times it appear in, then continuous to the second line with the same. So when i count a line i have to remove all duplicates in the file to not count it another time.
while read line
do
n=$(grep -c $line File)
print "$line... (5 Replies)
Discussion started by: ToniX
5 Replies
9. Windows & DOS: Issues & Discussions
so...
Lets assume I have a text file.
The text file contains multiple "#" symbols.
I want to replace all thos "#"s with a STRING using DOS/Batch
I want to add a certain TEXT to the end of each line.
How can I do this WITHOUT aid of sed, grep or anything linux related ? (1 Reply)
Discussion started by: pasc
1 Replies
10. Shell Programming and Scripting
Hello experts,
I have a text file with lot of curly brackets (both opening { & closing } ). I need to delete them alongwith the text between opening & closing brackets' pair.
For ex: Input:-
59. Rh1 Qe4 {(Qf5-e4 Qd8-g8+ Kg6-f5
Qg8-h7+ Kf5-e5 Qh7-e7+ Ke5-f5 Qe7-d7+ Qe4-e6 Qd7-h7+ Qe6-g6... (6 Replies)
Discussion started by: prvnrk
6 Replies
BM(PUBLIC) BM(PUBLIC)
NAME
bm - search a file for a string
SYNOPSIS
/usr/public/bm [ option ] ... [ strings ] [ file ]
DESCRIPTION
Bm searches the input files (standard input default) for lines matching a string. Normally, each line found is copied to the standard out-
put. It is blindingly fast. Bm strings are fixed sequences of characters: there are no wildcards, repetitions, or other features of regu-
lar expressions. Bm is also case sensitive. The following options are recognized.
-x (Exact) only lines matched in their entirety are printed
-l The names of files with matching lines are listed (once) separated by newlines.
-c Only a count of the number of matches is printed
-e string
The string is the next argument after the -e flag. This allows strings beginning with '-'.
-h No filenames are printed, even if multiple files are searched.
-n Each line is preceded by the number of characters from the beginning of the file to the match.
-s Silent mode. Nothing is printed (except error messages). This is useful for checking the error status.
-f file
The string list is taken from the file.
Unless the -h option is specified the file name is shown if there is more than one input file. Care should be taken when using the charac-
ters $ * [ ^ | ( ) and in the strings (listed on the command line) as they are also meaningful to the Shell. It is safest to enclose the
entire expression argument in single quotes ' '.
Bm searches for lines that contain one of the (newline-separated) strings, using the Boyer-Moore algorithm. It is far superior in terms of
speed to the grep (egrep, fgrep) family of pattern matchers for fixed-pattern searching, and its speed increases with pattern length.
SEE ALSO
grep(1)
DIAGNOSTICS
Exit status is 0 if any matches are found, 1 if none, 2 for syntax errors or inaccessible files.
AUTHOR
Peter Bain (pdbain@wateng), with modifications suggested by John Gilmore
BUGS
Only 100 patterns are allowed.
Patterns may not contain newlines.
If a line (delimited by newlines, and the beginning and end of the file) is longer than 8000 charcters (e.g. in a core dump), it will not
be completely printed.
If multiple patterns are specified, the order of the ouput lines is not necessarily the same as the order of the input lines.
A line will be printed once for each different string on that line.
The algorithm cannot count lines.
The -n and -c work differently from fgrep.
The -v, -i, and -b are not available.
4th Berkeley Distribution 8 July 1985 BM(PUBLIC)