行末の空白を自動で削除
30分プログラム、その431。行末の空白を削除するプログラム。
今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてなを設定したら、行末の空白が気になりだしたので、一括して削除するためにプログラムを作ってみた。ホントは、elispでやるべきな気がしてる。
使い方
# 空白を.で表示してみる $ cat hoge | sed 's/ /./g' aaa. bbb... cc # ちゃんと削除されている $ strip-blank hoge | sed 's/ /./g' aaa bbb cc
ソースコード
import System import System.IO argf :: (String -> IO ()) -> IO () stripLine :: String -> String strip :: String -> String argf f = do args <- getArgs case args of [] -> getContents >>= f _ -> mapM readFile args >>= f . concat stripLine = reverse.dropWhile (== ' ').reverse strip = unlines.map stripLine.lines main = argf (putStr.strip)