By Alvin Alexander. Last updated: July 6, 2019
I don’t remember exactly why I wrote this Scala shell script, but if I remember right I was having a problem getting sed
to work properly, so I wrote this little script to insert an Amazon Kindle “break” tag before each <h1>
tag in an HTML file:
#!/bin/sh exec scala -savecompiled "$0" "$@" !# import scala.io.StdIn var line = "" while ({line = StdIn.readLine(); line != null}) { // insert kindle 'break' tag before every h1 tag if (line.matches(".*<h1.*")) { println("") println("<mbp:pagebreak />") } println(line) }
At the moment I can’t remember what the problem with sed
was, but I know that I wrote this script, which I use like this:
cat $FILE | ./InsertBreakB4H1.sh > $TMPFILE
I think part of what I was thinking was that I was getting tired of fighting with sed
, and I started wondering if it wouldn’t just be easier to use Scala for filtering/inserting purposes like this.
In summary, if you wanted to see a Scala script that works like sed
, I hope this example is helpful.