Okay, I have a script right now that is made to search through a file and replace certain strings with a new one. The format to execute is "/subst <replacethis> <withthis> <filename>" and it only updates the file IF changes are made (in order to preserve the time it was made/last modified). I have this working 100% right now, but the next step is to edit the script so that it is possible for users to do "/subst <replacethis> <withthis> <filename> <filename2> <filename3> <filenamex>" as high as they want. If anyone can point me in the right direction of methods to do this or simply fix it for me, I would be very greatful.
Here is my current script:
Code:
#!/bin/bash
replacethis=$1
withthis=$2
file=$3
sed -e "s+$replacethis+$withthis+g" $file > $file.bak
cmp $file $file.bak > /dev/null
if [ $? -eq 0 ]
then
echo "Files are the same, nothing was replaced."
rm $file.bak
else
mv $file.bak $file
fi
Hi guys, I hope you can help me with my problem.
I have a text file that contains lines like this:
78 ANGELO -809.05
79 ANGELO2 -5,000.06
I need to find all occurences of amounts that are negative and replace them with x's
78 ANGELO xxxxxxx
79... (4 Replies)
Hi,
Let me explain the situation.
There are many files in a directory and its sub-directories that conatin the string pattern "pa". I want to replace all such instances with the pattern "pranavagarwal"
doing a
grep "pa" `ls`
does give me all the instances of the occurence of that... (3 Replies)
Hi
I have a text file which contains the following.
AAA,BBB,CCC,DDD
AAA,BBB,CCC,DDD
AAA,BBB,CCC,DDD
How can I replace all CCC with 888, with other contents inside the file remain unchange? Please advice
Desired output:
AAA,BBB,888,DDD
AAA,BBB,888,DDD
AAA,BBB,888,DDD (1 Reply)
Hi I am new to shell scripting but i manage to do some simple things.
I am trying to replace a string in one file. I am using sed to replace but it is not permanently writing to the file, rather it is temporary. I want to know whether is there any another method to replace a string in a file... (7 Replies)
I have one string
string1=user/password:IP_ADDR:Directory
I need to replace string1 value like store into string2
string2=user password:IP_ADDR:Directory
i.e replace "/" character by '<space>' character
But i wouldn't use any file in the meantime.
Please help me......................... (6 Replies)
I posted this issue a week or so ago and I still cant get the script to work. Here is what I have so far and what Im trying to do.
#!/bin/ksh
old="$1"
new="$2"
file=$3
grep $1 $3 > /dev/null
if ;then
cp $3 ${3}.bak
sed "s/$1/$2/g" $3 > ${3}~
mv ${3}~ ${3}
fithe script is... (5 Replies)
Hi All,
I have below file which has data in below format.
#$ | AB_100
| AB_300
()| AB_4
@*(% | AB-789
i want o/p as below format.
| AB_100
| AB_300
| AB_4
| AB-789
So here there is no standard format.
How we can achieve the same in unix ?
Regards, (3 Replies)
Dear Friends,
I want to replace following line with given line.
It should grep/search following string in a file (input.txt)
M/M SRNO: 000M/6200-0362498 COSMETIC PRO MALE FEMALE
Once found it should replace it to following string.
T_DLHNNO: 000M/6200-0362498 ... (7 Replies)
Hi,
I have a text file where all records come in one line (single line file), each record starts with 'BUCH' and ends with '@&' and if data is not there we get space instead. between '@&' and next record there might be some spaces, now I want to remove those spaces between '@&' and 'BUCH'.
... (4 Replies)
Hi,
Using the following command, I can only get rid of the last extension from my input file name:
parallel command '>' {.}.output ::: my.input.file
The output file is "my.input.output"
How can I get rid of the last two extensions of my input file name, so that end up with "my.output"?... (4 Replies)
Discussion started by: forU
4 Replies
LEARN ABOUT LINUX
prename
RENAME(1) Perl Programmers Reference Guide RENAME(1)NAME
rename - renames multiple files
SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPTION
"rename" renames the filenames supplied according to the rule specified as the first argument. The perlexpr argument is a Perl expression
which is expected to modify the $_ string in Perl for at least some of the filenames specified. If a given filename is not modified by the
expression, it will not be renamed. If no filenames are given on the command line, filenames will be read via standard input.
For example, to rename all files matching "*.bak" to strip the extension, you might say
rename 's/.bak$//' *.bak
To translate uppercase names to lower, you'd use
rename 'y/A-Z/a-z/' *
OPTIONS -v, --verbose
Verbose: print names of files successfully renamed.
-n, --no-act
No Action: show what files would have been renamed.
-f, --force
Force: overwrite existing files.
ENVIRONMENT
No environment variables are used.
AUTHOR
Larry Wall
SEE ALSO mv(1), perl(1)DIAGNOSTICS
If you give an invalid Perl expression you'll get a syntax error.
BUGS
The original "rename" did not check for the existence of target filenames, so had to be used with care. I hope I've fixed that (Robin
Barker).
perl v5.12.4 2011-08-10 RENAME(1)