Programming :: Using Sed To Search And Replace Backwards?
Oct 25, 2010
I'm trying to use sed to search and replace backwards. The problem is that I have a shell script that is required to put commas into big numbers. For example
9999999 as 9,999,999
I've tried a few things, but none seem to work:
Code:
$ echo 9999999 | sed -e 's/([0-9]{3})/,1/g'
,999,9999
$ echo 9999999 | sed -e 's/([0-9]{3})$/1,/g' -e 's/([0-9]{3})/1,/g'
999,999,9,
$ echo 9999999 | sed -e 's/([0-9]{3})$/1,/g' -e 's/([0-9]{3})/,1/g'
[ode]....
It would be much easier if I could search backwards! For example Bash parameter substitution style:
Code:
$ echo 9999999 | sed -e 's%([0-9]{3})%,1%g'
View 14 Replies
ADVERTISEMENT
Aug 11, 2010
i need to change a binary file, let's say to find and replace username:
find string: "/home/name/bla-bla-bla/ "
new string: "/home/anewname/bla-bla-bla/ "
i can do it, for example, in emacs (hexl-mode), but interesting in writing a script instead. it will be much more better for me if i could do it automatically. is there an analog of: sed 's/string1/string2/g' ? P.S. the best way is to recompile the binary files i have, but there are no sources available.
View 5 Replies
View Related
May 1, 2011
I am trying to search and replace a multi line pattern in a php file using awk.The pattern starts with
<div id="navbar">
and ends with
</div>
[code]...
View 3 Replies
View Related
Jul 7, 2011
I need a command to search a string in a file and then to convert the next string in the same line from hexadecimal to binary. I was able to put everything in capitals. The original file can be as such:
E 2
C 1 794
T ffff
E 2
C 1 787
It is not always FFFF! I am trying to do this in a file at once, not reading line by line (using while).
View 5 Replies
View Related
Aug 3, 2010
I'm wanting to mod some PHP files across a hierarchy and thought I'd drive it with find + grep + xargs
I built up a command line which I was confident would do the job, but now can't save the results.
First I tried this:
Code:
find . -name *.php | xargs grep serialize | cut -d: -f1| sort -u | xargs sed -i s/serialize/serialise/g
but that didn't work:
Code:
sed: illegal option -- i
so I thought I'd try using
Code:
[Code].....
View 10 Replies
View Related
Oct 16, 2010
As indicated in the subject, I want to search a text. If the text is present I want to replace it. But if the text is not present, I want to insert it after first line and before last line.
Searched text is:CleanCache "*";
Where * can be anything.
Example: CleanCache "false"; -> CleanCache "true";
If CleanCache "false"; is not present, only insert CleanCache "true"; after first line and before last line.
View 8 Replies
View Related
Jul 16, 2010
Something very handy to do in a Linux shell, is manipulating files and strings - essentially parsing data. Write a utility which will scan in a text file and search and replace strings. We also want to keep track of how many strings we've replaced.
I know that my command would look like this: <utility name> <filename> <stringToSearchFor> <stringToReplaceWith>
Code: #!/bin/bash
[code]....
View 2 Replies
View Related
Feb 24, 2010
I want to search a file for a particular pattern and if pattern found replace the line with new text. i am using awk 'match($0,"pattern") != 0 {print $0} ' filename to check if the pattern exists.how do i get the line number of the pattern and delete that line and replace the line with my new text?
View 1 Replies
View Related
Feb 7, 2010
I was wondering how I would search and replace all /'s with -'s in vi. %s///-/g doesn't work obviously.
View 2 Replies
View Related
Aug 1, 2010
I just can't figure it out at all!
View 1 Replies
View Related
Oct 22, 2009
I have two type of lines in a text file example
Code:
x.junk(a,b,YAHOO);
y.junk(c,d);
I want to search and replace the second type of line with the first type i.e. with YAHOO included, so that I have
Code:
x.junk(a,b,YAHOO);
y.junk(c,d,YAHOO);
I am trying to use
Code:
:%s/(.*).junk((.*),(.*)^<YAHOO>);/1.junk(2,3,YAHOO);/
In the above code ^<YAHOO> search is not working (I want lines "except YAHOO"). I know that [^ab] will work for "except a,b" characters. How can I say "except word" in regular expressions?
View 8 Replies
View Related
Feb 16, 2011
Back to the problem: I wrote a little bash script that people around here can run to search and replace strings in the current directory and all subdirectories. However, whenever there is a space in the new string (the one doing the replacing), I get this error:
Sed: -e expression #1, char 9: unterminated `s' command
My code looks like this:
Code:
find ./ -type f -not -name find_SNR.sh -exec sed -i 's/'$FIND_SNR_STR1/$FIND_SNR_STR2/'' {} ;
View 5 Replies
View Related
Jul 13, 2010
Hello, I need some help searching through multiple files, finding a line and replacing that line. The line I am searching for is:
password key ******* 1222554
ultimately I want to be able to delete the numbers after the asterisks . my thoughts are to create a script that will search for the line password key ******* and delete it then replace it with password key ******* my files are located in /opt and they are all txt files.
View 13 Replies
View Related
Apr 7, 2009
I'm fairly comfortable with emacs but I can't seem to find how to do this. I deal with a lot of text files and find myself performing a lot of regular expression replacements to correct the formatting of the text -- or to extract certain tidbits of data from large ugly-looking files.
I know how to perform a regular expression replacement in one buffer at a time. But how do you perform a regular expression search and replace across all open buffers? I have found a method to perform a regex search and replace across a directory by marking files but I need to do it in the open buffers.
View 2 Replies
View Related
Jul 16, 2011
I want to do search and replace in multiple files. I've seen that it possible to create a sed script but I haven't got the talent to do it myselfWhatd is to locate all instances of a word - lets say 'day' - and replace it with for example 'night' in all odm-documents in a specific folder. It would be great if the search only matched whole words and was case sensitive.
View 1 Replies
View Related
Oct 26, 2009
I've got a list of files that I've copied from my terminal and pasted into gedit and into OO.o writer. Since the files are all created by gedit, in each case there is both file and file~. I want to get rid of all the 'file~' lines. I thought I could do search and replace using *~, but this doesn't work.
View 4 Replies
View Related
Aug 26, 2009
Below is extract of my file:
What I need is to replace "--destination-path=" with "--destination-path=/home/dest"
i.e. desired output is ----destination-path=/home/dest
I could achieve it with below command
$cat outgoing-xfer|grep destination-path|perl -pi -e "s/destination-path=/destination-path=/home/dest/g"
But the problem is that in this case i just wanted to append "/home/dest" for which I could easily escape "/" with just two "", but I wonder if i have a long path like "/a/b/c/d/e/f/g/h/i/j" I will have to escape so many /. Is there any other way by which I can avoid escaping forward slash.
I tried following:
But receiving follo error
Bareword found where operator expected at -e line 1, near "s/destination-path=/'destination-path=/home"
syntax error at -e line 1, near "s/destination-path=/'destination-path=/home"
Bad name after dest' at -e line 1. tried with enclosing in double quotes as well but in vain
View 5 Replies
View Related
Feb 3, 2011
Suppose I have a pair of files containing lists. The first file is called contigs.txt and it contains a list that looks like this:
Code:
Contig822
Contig826
[code]...
View 5 Replies
View Related
Feb 11, 2011
Lately I've been needing to delete new untracked files from my versioning system. Being in linux I use: hg status -un|xargs rm And it works nice, but when doing it in windows, hg status lists paths with backslash so that is where stuff goes wrong. So then I try: hg status -un|sed 's/\///g' ...but I get the error: sed: -e expression #1, char 8: unterminated `s' command
Then I try some ascii: `hg status -un|sed 's/o134/o57/g'`...that gets me: sed: -e expression #1, char 14: Trailing backslash And some scripting: hg status -un|sed 's/`echo `/`echo /`/g' ...that gets me: sed: -e expression #1, char 19: unknown option to `s'
I try all the last with any other characters and I get the expected output... so I'm completely lost. I have cygwin, of course, and I want to avoid using a file (that is what I've been doing).
View 2 Replies
View Related
Jul 25, 2011
On windows I really only used Notepad++ as my text editor, it had two features that I loved.What I need to accomplish is what I would do with Notepad++ column editor.I could have like 100 lines, and place the cursor at a column, and goto edit>column editor, and I could insert an incrementing number. (I could also pad the incrementing number with 0s, this was GREAT for making batch files among other things.)So each line at that column had a number higher than the previous line.The other feature that I used sometimes was a search/replace with regex patterns.Does anyone know of an editor that has those features for linux? I am mostly after the column editor insert feature but if you know of one with both features that would rock.
View 1 Replies
View Related
Aug 18, 2010
I have a js string bounded by single quotes (''). That requires that I escape the single quote (') that occurs in "I'm" or "don't". I want "I'm" to become "I'm". Fair enough. But this doesn't work: sed -e "s/'/'/g" The replacement string is unescapable I believe and must be a literal. How do I do this in sed ?
View 2 Replies
View Related
Mar 9, 2011
I have a file like this:
Code:
I need to search it backwards for "notable line" strings AND the first numeric string preceding that line. I've discovered that it's easy to search backwards by tac file | grep pattern, but how to tell grep to continue searching from where the pattern was found? In short, I want to make the output of the example above into this:
Code:
Or I must use another tool, like awk or sed? If so, how do I do so?
View 3 Replies
View Related
Sep 19, 2010
If I have a line like AA=<value> in the file, and the <value> is not a constant. For example, it could be AA=BB or AA=CC. How can I replace the <value> with a specified string such as 'DD'? Thus, AA=BB can become AA=DD and AA=CC can also become DD. Don't want the whole line replaced, just the <value> part.
Can sed or awk work for this?
View 8 Replies
View Related
Jul 26, 2011
I want to change the parameter for ThreadLimit for one file as shown below using sed. I want to ignore the commented line. But the command I am using also executing with commented line.
# ThreadLimit: maximum setting of ThreadsPerChild
ThreadLimit 25
I want the desired output as
# ThreadLimit: maximum setting of ThreadsPerChild
#ThreadLimit 25
ThreadLimit 50
For this I am using command.
sed '/ThreadLimit/{;h;s/^/#/p;x;s/ .*/ 50/;}' test.txt.1 > test.txt
View 7 Replies
View Related
Aug 4, 2010
I am trying to replace a section of a file between the first instances of the strings {}, with the contents of another file. Example of the format of the file I'm trying to modify
Code:
Servername=something.com
hosts {
macaddress1
macaddress2
[code].....
Then captured all the "macaddress#"s to a variable and used sed to swap
sed "s/$CURRENTDATA/$NEWDATA/" filename
However I get 1 of 2 errors,
Using a small number of macs in "$NEWDATA"
sed: command garbled: s/ macaddresshere
Or when using a large number of macs in the $NEWDATA variable get
bash: /usr/bin/sed: Arg list too long.
how to replace a large block of txt in one file with another large block from another?
View 6 Replies
View Related
Mar 1, 2011
I have a file, "outfile" what I wish to insert into a file called template where it finds "OVERRIDES". I am getting an error.
Code:
However I can do something like this and it works fine
Code:
I am guessing its because of the file size or multiple lines.
A sample of the outfile text is below
Code:
View 9 Replies
View Related
Oct 5, 2010
How can i use grep (or any other command) to check for lines that begin with N number.
E.g. I want to print out commands (from history), but only from the command number 50 until #200.
This one doesn't work:
Code:
history | grep "^[50-200]"
Should print out something like:
Code:
50 cd ~/Desktop
[Code].....
View 4 Replies
View Related
Feb 3, 2010
How to search for a file? I am looking for a file in a directory /shared/domain...This also contains many sub directories..I need a script which will let me know the location of my log file myapps.log.what is the script ?Can it be made in one line ...because I just want to run ...don't want to save the script.
View 14 Replies
View Related
Jan 21, 2010
Code:
Title=
echo -n "Title: "
[code]...
hey guys, im doing a simple search program and i came up with a problem. What i am trying to achieve is, if the search is false(means the book does exist) , the program will then ask the user to input the information again(title and author) and do a search again until there is no such book and then display a message saying he can input a new book in.i tried using a until loop, but it does not seem to work. some guidance on how the statement should be and where should it be placed?
View 4 Replies
View Related
Sep 1, 2009
I'm running CentOS 5.3 on a laptop and there are numerous warnings in the dmesg output that look like:
Warning Timer ISR/0: Time went backwards: delta=-252671169 delta_cpu=-248671169 shadow=6729603658291 off=235680520 processed=6730092000000 cpu_processed=6730088000000 0: 6730088000000
View 3 Replies
View Related