As I said - using spaces as delimiters is not that easy. You don't have a closing delimiter in above. And, make sure the <samplefinaldata> doesn't contain spaces.
thanks for pointing out the missing single quote, I tried this now
but still getting error sed: command garbled: /."Output filename"/s basename <sampledatafinal>
thanks..
thanks for pointing out the missing single quote, I tried this now
but still getting error sed: command garbled: /."Output filename"/s basename <sampledatafinal>
thanks..
What the above command seems to be trying to do is to select lines that contain the string "Output filename" that does NOT appear at the beginning of a line and on those selected lines change the first occurrence of the string basename with the string <sampledatafinal> with flags specified by the string result2, but most of those flags are invalid for a substitute command.
You are using a space as the field delimiter in the substitute command which should be of the form:
where delimiter is a single character other than backslash and newline. Since you are using a space character as your delimiter, the space between the closing single quote and the filename is being used as a delimiter and the filename is being treated as flags; not as the name of a file to be processed.
But, more importantly, your description of what you're trying to do keeps changing and there is confusion about what you are really trying to accomplish. First you wanted to change a directory name (enclosed in double quotes) to a string stored in a variable (dropping the quotes). Then you say you want to strip off all but the final component of a pathname, but the pathnames you have shown us include trailing slash characters. So, by definition, the final component name is .. (Why would a regular filename like /abc\khi/amv.txt/ or /abc\khi/amv.csv/ end with a /?)
Please show us:
a sample input file that contains the all of the transformations you're trying to make,
the code that sets the variable want to replace directory names found in your sample input file, and
a sample output file that shows the exact results you're trying to produce from the above specified inputs.
This User Gave Thanks to Don Cragun For This Post:
First and foremost thanks for looking into this .My requirement is to modify the following in an input file
1> change the directory in attribute Output file directory to a parameterized directory.
2> strip of any directory from the attribute output filename if the filename is prefixed with path , and just retain the filename along with extension
3> change the directory in attribute Log filename and keep the filename as is.
4> all of the above can be present multiple times in a file , and modification needs to be done for multiple files.
I was trying to achieve this step by step, hence you could have felt a change in requirement. I also realized that by mistake I have given a / in the filename , this is a mistake and there is no / after the filename. I apologize for the inconvenience /confusion caused by this.
my sample input data file looks like
this is my desired output
thanks in advance.
Last edited by ajmani; 03-09-2015 at 11:45 PM..
Reason: correcting typo errors
1> the existing filepaths do have / and \ used interchangeably. I am not sure how the code referring to these paths is valid , but it is running well. however, now we want to standardize everything and use only \ in the paths.
2> we want to parameterize the path of output files partially. the dir structure is root\outputfiles\third_party . the folder1 that you see , is actually sub directory for one third party. though the third party will remain fixed for one file , but we don't want to create so many process variables (one for each third party)
3> the last 2 are typo errors
Quote:
<ATTRIBUTE NAME ="Output filename" VALUE ="target1.csv"/>
<ATTRIBUTE NAME ="Output filename" VALUE ="/$Thirdparty.target2"/>
should have been
Quote:
<ATTRIBUTE NAME ="Output filename" VALUE ="target1.csv"/>
<ATTRIBUTE NAME ="Output filename" VALUE ="/$Thirdparty\target2"/>
and output should be
Quote:
<ATTRIBUTE NAME ="Output filename" VALUE ="target1.csv"/>
<ATTRIBUTE NAME ="Output filename" VALUE ="target2"/>
and
Quote:
<ATTRIBUTE NAME ="Log filename" VALUE ="/data/logfiledirectory\log2.log"/>
should give output
Quote:
<ATTRIBUTE NAME ="Log filename" VALUE ="$logfiledire\log2.log"/>
. I have corrected this in my previous post as well. regret the inconvenience .
Hi all,
I am trying to change the below word. but the changes is not reflecting in the new file
sed -n 's/apple/orange/' filename
---------- Post updated at 12:51 AM ---------- Previous update was at 12:41 AM ----------
I tried this it works
perl -pi.bak -e... (9 Replies)
Data not replacing using sed,please check below.
Replace_value=$$dbconn_target
Search_value=$$dbcon_source
sed -e s/\${Search_value}/\${Replace_value}/g intrepid_sps_val.parm (2 Replies)
hi Guys,
I have a rar file which consists of 10 files. each file has a space in its file name.
how can i replace all spaces with _
i can replace them using sed but the thing is i need to replace using a script and not command.
can anyone help me out??:confused: (2 Replies)
hi
my input file has got
>,,,, or >, or >,,,,,,
there are independent number of commas after >....
i want the o/p as > only that is just to remove "," after">"
another is:
i want to replace the last line of the file and to replace it by "hello"...how to do?...
any nice script
plz help (2 Replies)
My need is :
Want to change
docBase="/something/something/something"
to
docBase="/only/this/path/for/all/files"
I have some (about 250 files)xml files.
In FileOne it contains
<Context path="/PPP" displayName="PPP" docBase="/home/me/documents" reloadable="true" crossContext="true">... (1 Reply)
Hi,
I have a text file and I would like to replace all occurrences of single quote ' with two consecutive single quotes '' .
I have tried sed s/\'/\'\'/ < Folder/outputFile.txt > Folder/otherFile.txt but this replaces only the first occurrence of ' with ''. I want it to replace all the single... (7 Replies)
Hello,
I was looking around, but could not find the answer, so I hope you ppl can help me.
I want simply to replace text.:rolleyes:
I found out SED would be good for this task.:b:
So I tried: :confused:
1.) find text in a line and replace this particular line:
for finding... (3 Replies)
its again sed question. i have line -
sed "s/$old/$new/g" "$f" > $TFILE && mv $TFILE "$f"
working well if
old="myoldfile"
new="mynewfile"
but if i want
old="/home/shailesh/1test/"
new="/home/shailesh/workspace/"
it gives error like
sed: -e expression #1, char 9: unknown option to... (2 Replies)
I want to change the false in Node 1 to true. How do I do that?
<Node1>
<Usage>false</Usage>
<Url>ABC</Url>
</Node1>
<Node2>
<Usage>false</Usage>
<Url>DEF<Url>
</Node2> (8 Replies)