sed help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed help
# 1  
Old 07-12-2009
sed help

Hi,

I have a many xls file under a given directory and each file contains a line "href=a.xls"( which is different for diff files) as one of the line.
file:
----
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="XSLT Namespace" version="1.0">
<xsl:include href="a.xls"/>.

Now I need to do the following
*. search the pattern, "<xsl:include href="
*. Obtain the file name , which happens to be "a.xls"
*. Edit "a.xls" to "a_tmp.xls"
*. write back the modified file to the original file.

I tried
sed -e 's/<xsl:include href= \([^]*\).*/include href=\1_tmp.xls;\n&/' fileOne.xsl

but it throws error "cannot parse".

Any pointer will be of great help.

Cheers
# 2  
Old 07-12-2009
Hello,

Per our forum rules, all threads must have a descriptive subject text. For example, do not post questions with subjects like "Help Me!", "Urgent!!" or "Doubt". Post subjects like "Execution Problems with Cron" or "Help with Backup Shell Script".

The reason for this is that nearly 95% of all visitors to this site come here because they are referred by a search engine. In order for future searches on your post (with answers) to work well, the subject field must be something useful and related to the problem!

In addition, current forum users who are kind enough to answer questions should be able to understand the essence of your query at first glance.

So, as a benefit and courtesy to current and future knowledge seekers, please be careful with your subject text. You might receive a forum infraction if you don't pay attention to this.

Thank you.

The UNIX and Linux Forums
# 3  
Old 07-12-2009
PHP

The following seems to work:

Code:
sed 's/<xsl:include href="\([A-Za-z]*\)/<xsl:include href="\1_tmp/' fileOne.xls

The expression "[A-Za-z]" assumes filenames (excluding the ".xls" part) have only alphabetic characters. If they can contain other characters you should modify this expression to describe them.

see sed section on addresses, which says sed works on input lines.

Last edited by DukeNuke2; 07-14-2009 at 03:45 AM..
# 4  
Old 07-14-2009
Sed doesnt replaces the content in file

Hi,
Thanks a lot .

I observed that it works for well formatted file. In one of the server I had the file where in the content of the file is in single line( cannot open the file from vi, vi says line too long). When I executed the same sed command on this file, it dumps nothing to the file, where in when i executed the same sed on my system having well formated file( means to say it has multiple lines) it works fine.

As far as i know, sed should work irrespective of file format , but reality it doesnt !!
Any pointer will be of great help

---------- Post updated 07-14-09 at 11:36 AM ---------- Previous update was 07-13-09 at 08:15 PM ----------

In the man page, its mentioned that "
"The hold space is limited to 8192 characters."
Is this the reason for sed to fail to perform the task mentioned in previous post....


---------- Post updated at 09:51 PM ---------- Previous update was at 11:36 AM ----------

It worked finally , after appending "\n" to the file... :-)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

I am learning regular expression in sed,Please help me understand the use curly bracket in sed,

I am learning SED and just following the shell scripting book, i have trouble understanding the grep and sed statement, Question : 1 __________ /opt/oracle/work/antony>cat teledir.txt jai sharma 25853670 chanchal singhvi 9831545629 anil aggarwal 9830263298 shyam saksena 23217847 lalit... (7 Replies)
Discussion started by: Antony Ankrose
7 Replies

2. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

3. Shell Programming and Scripting

sed inside sed for replacing string

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)
Discussion started by: linuxadmin
1 Replies

4. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

5. UNIX for Dummies Questions & Answers

SED: Can't Repeat Search Character in SED Output

I'm not sure if the problem I'm seeing is an artifact of sed or simply a beginner's mistake. Here's the problem: I want to add a zero-width space following each underscore between XML tags. For example, if I had the following xml: <MY_BIG_TAG>This_is_a_test</MY_BIG_TAG> It should look like... (8 Replies)
Discussion started by: rhetoric101
8 Replies

6. Shell Programming and Scripting

deleting text records with sed (sed paragraphs)

Hi all, First off, Thank you all for the knowledge I have gleaned from this site! Deleting Records from a text file... sed paragraphs The following code works nearly perfect, however each time it is run on the log file it adds a newline at the head of the file, run it 5 times, it'll have 5... (1 Reply)
Discussion started by: Festus Hagen
1 Replies

7. Shell Programming and Scripting

sed has zeored my files. Help me with sed please

i made a script to update a lot of xml files. to save me some time. Ran it and it replaced all the the files with a 0kb file. The problem i was having is that I am using sed to change xml node <doc_root>. The problem with this is it has a / in the closing xml tag and the stuff inside will also have... (4 Replies)
Discussion started by: timgolding
4 Replies

8. Shell Programming and Scripting

sed over writes my original file (using sed to remove leading spaces)

Hello and thx for reading this I'm using sed to remove only the leading spaces in a file bash-280R# cat foofile some text some text some text some text some text bash-280R# bash-280R# sed 's/^ *//' foofile > foofile.use bash-280R# cat foofile.use some text some text some text... (6 Replies)
Discussion started by: laser
6 Replies

9. Shell Programming and Scripting

Issue with a sed one liner variant - sed 's/ ; /|/g' $TMP1 > $TMP

Execution of the following segment is giving the error - Script extract:- OUT=$DATADIR/sol_rsult_orphn.bcp TMP1=${OUT}_tmp1 TMP=${OUT}_tmp ( isql -w 400 $dbConnect_OPR <<EOF select convert(char(10), s.lead_id) +'|' + s.pho_loc_type, ";", s.sol_rsult_cmnt, ";", +'|'+ s.del_ind... (3 Replies)
Discussion started by: kzmatam
3 Replies

10. Shell Programming and Scripting

Sed Question 1. (Don't quite know how to use sed! Thanks)

Write a sed script to extract the year, rank, and stock for the most recent 10 years available in the file top10_mktval.csv, and output in the following format: ------------------------------ YEAR |RANK| STOCK ------------------------------ 2007 | 1 | Exxon... (1 Reply)
Discussion started by: beibeiatNY
1 Replies
Login or Register to Ask a Question