(require '[clojure.java.io:as jio]
         '[clojure.string:as str])

(defn remove-lines1 [filepath start nskip]
  (let [lines (str/split-lines (slurp filepath))
        new-lines (concat (take (dec start) lines)
                          (drop (+ (dec start) nskip) lines))
        diff (- (count lines) (count new-lines))]
    (when-not (zero? diff)
      (println "WARN: You are trying to remove lines beyond EOF"))
    (with-open [wrt (jio/writer (str filepath ".tmp"))]
      (.write wrt (str/join "\n" new-lines)))
    (.renameTo (jio/file (str filepath ".tmp")) (jio/file filepath))))