0
我正在尋找類型爲Text -> [Text]
的函數,實質上這將按換行符分割文本。然而,我不能只是分裂\n
,因爲這可能會逃脫例如\\n
,我不知道還有什麼其他併發症存在。如何在使用Shelly運行外部進程時處理多行輸出?
Main.hs
{-# LANGUAGE OverloadedStrings #-}
import Data.Text (Text)
import Data.Text.IO
import Shelly
example :: Sh Text
example = run "./example.sh" []
main :: IO()
main = do
v <- shelly example
Data.Text.IO.putStrLn v
example.sh輸出./example.sh
的
echo "test1\\n"
echo "test2"
echo "test3"
:
test1\n
test2
test3
因此,這是3行輸出。
Shelly是否支持一些功能來處理上述問題?或者,也許一些其他Haskell庫來解析輸出?我想它會看起來像putStrLn
但不輸出到IO()
它會輸出到[Text]
?