sed command not quite working yet, if anyone can help appreciated
Hi gang,
I am trying to create some batch commands for many html pages I need to re-format.
I am trying the number 2b in this example to wrap anchor tags around the number that will be referenced in the footnotes.
I am trying to use the h/H hold command, but I have never tried using it before and it is not yet working.
From the sed help file example it uses the 'g/G' to extract whatever is in the hold buffer.
So basically, each of my html pages have pages numbers of text referring to the original text book numbers and used to reference each pages footnotes. So I want sed, each time it finds a page number to hold that page number in 'h/H' and then check each line after for '2b' or any number in which the line does not begin with '<' (already formatted with HTML tags) and wrap the number in anchor tags according to the last page number held in HOLD.
Most pages have multiple page references, so every time sed encounters a new page number, it should re-write the HOLD space with new page number and begin applying that to each anchor, until of course another new page number is encountered.
I thought I had that with:
but for this line of text:
I get:
It looks like 'g/G' is not what I need to extract whatever is (hopefully) in the HOLD space. Can anyone help me out here?
Originially I would have thought the two semi-colons after 'h' inside curly brackets and then outside would puke back an error, but they do not. Having just the one (inside curly brackets), does result in sed balking.
Hi, g/G is a command in itself, it only copies from the hold space into the pattern space. I cannot be part of a substitution command. I think this will be complicated with sed and I suspect you'll find awk a better match...
I cannot be part of a substitution command. I think this will be complicated with sed
so ok that explains why I am getting the 'g' in front when I want the chapter number I was hoping was being stored in hold. so no way to extract that chapter number ans use it as part of a sub command? Why have the hold command then? It seems logical to hold data that will be used (inserted/sub'd) in somewhere no?
Quote:
I suspect you'll find awk a better match...
I suspect you're probably right, but I do not know awk and even though I have been looking for a tut recently b/c I am starting to need to do more things like this and I am sure awk will be more versatile, I just don't have the time to learn what I need.
any awk one-liners that do something similar I might be able to apply?
Hello There -
Iam trying to get this expdp running for oracle backup.
And this is the code below:
### Run the export.
### Comment out any LOGFILE parameters in the .par file.
if grep -i "Logfile" /<Path>$1_$2_$3.par; then
## Comment out any LOGFILE... (7 Replies)
This is my sample file
cat bipin.txt
Unix is an OS
Unix has its own commmands
Unix is a user friendly OS
Unix is platform independent
Unix is a time sharing OS
the best OS to learn is Unix
Abinitio uses Unix in backend
When i use sed 's/Unix/Linux/' bipin.txt , only the first... (2 Replies)
cat bipin.txt
Unix is an OS
Unix has its own commmands
Unix is a user friendly OS
Unix is platform independent
Unix is a time sharing OS
the best OS to learn is Unix
Abinitio uses Unix in backend
this is my file
when i use sed 's/Unix/Linux/' bipin.txt all the occurences are getting... (0 Replies)
Hi All,
I am trying to run a sed command to replace a string in a file.
sed -i -e "s/$Job_status_old ,$line/Job_status_new ,$line/g" stat.txt
The command wen run from the command promt works fine.
But the same command does not work when its put in a script.
The script is not failing... (3 Replies)
Hi guys,
the command is
echo "Online Memory : 32768 MB" | sed 's/.*\(+\).*/\1/'
I would expect it to print 32768, it cuts off any character to the first digit, then gets all digits in 1, cuts off the rest after the digits, and should print 32768, instead it... (4 Replies)
Hi
1st problem
--------------
i have this sed command in my unix script which replaces new line and carriage return in a line with the string "
"
the script works fine in Linux 3.0.101-0.5, but not in AIX 1 7 , the "s/\r/\
/g" replacement, replaces
all the character "r" in the file.... (3 Replies)
Hi
I have assigned an output of a command to $I. I try to print the input and put a new line after occurrence of the hostname which is assigned to $HOST1 ( Example: pwrm16 ) . First of all I need to get rid of the Colon after the host name pwrm16: and make it pwrm16 then I want to print the... (10 Replies)
Hi,
Am trying to replace a character '-' with 'O' in position 289 in my file but am not success with below command.
sed 's/^\(.\{289\}\)-/\1O/' filename
sed: 0602-404 Function s/^\(.\{289\}\)-/\1O/ cannot be parsed.
Thanks in Advance
Sara
Video tutorial on how to use code tags in The... (9 Replies)
Hi
I tried running the code
scrname=`whence $0 | sed -e 's/\.\///g'`
where $0 is substituted by cm_dsjobrun.sh
in unix env then the value it returns me is
SCRNAME=/data/ds/dpr_ebicm_uat/etl/cm3_0/scripts/shell/cm_dsjobrun.sh
whereas i ran the same code on linux env
The value... (9 Replies)