Help using ed [OT]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi

Perhaps omeone might answer this tricky problem. I can do this other ways, but i really want to understand how to solve it using ed. I have one solution using g/re/s/re//txt/ , but I want to understand how or if i can solve it using the ed (.)a command.

A script i have parse several files and append text after a specific text is matched. If one file do not have this text, i get a no match and the script terminates. How can I avoid this behavior keeping the original coding style for ed and append text. I have tried tried but still cannot get it correct using (.)a. Is it even possible to do it that way using the (.)a command?

Thanks in advance
Thomas


code example that give a "no match". Fairly easy to read and understand

example 1:
-----------
for RFILE in $RLIST; do
ed - RFILE <<- EOF
    H
    /\[matching_text_1\]/a
    This is the appended textline(s) for text1
    .
    /\[matching_text_2\]/a
    This is the appended textline(s) for text2
    .
    w
    q
EOF
done

Another example that solve the above problem. But this example become very easy unreadable if the appended text is long and/or includes linebreaks.

Example 2:
----------
for RFILE in $RLIST; do
ed - $RFILE << EOF
    g/text1/s//text1\\
    appended_text1/g
    g/text2/s//text2\\
    appended_text2/g
    w
EOF
done
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux