Sponsored Content
Top Forums Shell Programming and Scripting Need help with scripting mass file edits.. Post 302132020 by akdwivedi on Tuesday 14th of August 2007 08:34:56 PM
Old 08-14-2007
Quote:
Originally Posted by akdwivedi
You can also try sed

place all the replace instances in a file ( sed_file) with entries
s/[search string1]/[replace string1]/g
s/[search string2]/[replace string2]/g

Then to make the replacements do as :

$ sed -f sed_file [input file]
As I stated above, it may not be the best approach. 'sed' searches for [search string] and replaces it with [replace string]

As per your requirement, you want the search string as well as the replaced string on the next line.

Note: if you have many replacements in a file make a temp file [sed_file] and input in it the following entries --
s/[search string1]/"[search string1] \n [replace string1]"/g
s/[search string2]/"[search string2] \n [replace string2]"/g

save this file and to make the global replacement in any file (input_file) run the following command -

sed -f sed_file input_file.

The sed command here will look for replacements from sed_file and make proper changes in the input_file.
Let me know if this helps.

Abhi.
This User Gave Thanks to akdwivedi For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

mass delete a certain string in a .log file

Hey all. I have a file that has roughly 115,000 lines in it. There are a few lines of information that I don't want in it, but I don't want to search through all of the lines to find the ones that I don't want. Is there a way to do a mass delete of the lines that I don't want? Thanks for the... (4 Replies)
Discussion started by: jalge2
4 Replies

2. AIX

VI questions : mass changes, mass delete and external insert

Is it possible in VI to do a global change but take the search patterns and the replacement patterns from an external file ? I have cases where I can have 100,200 or 300+ global changes to do. All the new records are inside a file and I must VI a work file to change all of them. Also, can... (1 Reply)
Discussion started by: Browser_ice
1 Replies

3. UNIX for Dummies Questions & Answers

Mass file renaming

Hi :) Is there any command I could use to rename a bunch of files resident of the same location to their original name plus a fixed text string of my own? Example: File1 File2 File3 Output: File1.txt File2.txt File3.txt This is easy using a "for" loop but what I want is a one-line... (5 Replies)
Discussion started by: Indalecio
5 Replies

4. Shell Programming and Scripting

mass file mv

I have 100k+ files in a directory. I wanna create new directories and move each 2500 files into a new directory. Thank you very much. (2 Replies)
Discussion started by: Sean2008
2 Replies

5. Shell Programming and Scripting

Multiple edits to a bunch of html files

I'm trying to upgrade a whole bunch of pages on my site to a new design. I thought one way of doing it would be to enclose the content in special comment tags and then use some form of script to wrap the new html around it. Like this: <!-- content start --> <h1>Blah blah blah</h1> yada yada... (9 Replies)
Discussion started by: dheian
9 Replies

6. UNIX for Dummies Questions & Answers

OpenLDAP DB_CONFIG edits, changes live? or do I need run something

So I am probably missing something , but when I made edits to my DB_CONFIG file to fix form db_lock issues, the changes are not propagating after a service restart. Anyone know if I need to run anything else, or are the changes live? (0 Replies)
Discussion started by: jcejka
0 Replies

7. Homework & Coursework Questions

K&R C code edits

1. The problem statement, all variables and given/known data: 2. Relevant commands, code, scripts, algorithms: We have to do this using 'unix tools' and not use the script as if it were C. Meaning, he wants more uses of grep, sed, awk, cut, etc... than he does while, for, do's and done's.... (23 Replies)
Discussion started by: theexitwound
23 Replies

8. UNIX for Dummies Questions & Answers

multiple text edits inone pass

File_1 looks like: bunch of text Untitled Placemark bunch of text bunch of text Untitled Placemark bunch of text bunch of text Untitled Placemark bunch of text File_2 looks like: Title_001 Title_002 Title_003 First: I need to replace the 1st occurence of "Untitled Placemark"... (2 Replies)
Discussion started by: kenneth.mcbride
2 Replies

9. UNIX for Dummies Questions & Answers

[solved]removing characters from a mass of file names

I found a closed thread that helped quite a bit. I tried adding the URL, but I can't because I don't have enough points... ? Modifying the syntax to remove ! ~ find . -type f -name '*~\!]*' | while IFS= read -r; do mv -- "$REPLY" "${REPLY//~\!]}"; done These messages are... (2 Replies)
Discussion started by: rabidphilbrick
2 Replies
tr(1)							      General Commands Manual							     tr(1)

Name
       tr - translate characters

Syntax
       tr [-cds] [string1[string2]]

Description
       The  command copies the standard input to the standard output with substitution or deletion of selected characters.  Input characters found
       in string1 are mapped into the corresponding characters of string2.  When string2 is short it is padded to the length of string1 by  dupli-
       cating  its  last character.  Any combination of the options -cds may be used: -c complements the set of characters in string1 with respect
       to the universe of characters whose ASCII codes are 0 through 0377 octal; -d deletes all input  characters  in  string1;  -s  squeezes  all
       strings of repeated output characters that are in string2 to single characters.

       In  either string the notation a-b means a range of characters from a to b in increasing ASCII order.  The backslash character () followed
       by 1, 2 or 3 octal digits stands for the character whose ASCII code is given by those digits.  A  followed by any other  character  stands
       for that character.

       The  following  example creates a list of all the words in `file1' one per line in `file2', where a word is taken to be a maximal string of
       alphabetics.  The second string is quoted to protect  from the Shell.  012 is the ASCII code for newline.
       tr -cs A-Za-z '12' <file1 >file2

Options
       -c   Translates complements:  string1 to those not in string1.

       -d   Deletes all characters in string1 from output.

       -s   Squeezes succession of a character in string1 to one in output.

Restrictions
       `', `0', and `00' are equivalent for NUL character.

       `12' is treated as octal 12 and not a NUL followed by characters 1 and 2.

See Also
       ed(1), ascii(7), expand(1)

																	     tr(1)
All times are GMT -4. The time now is 08:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy