
嗨,我剛開始使用sed
當我輸入:
echo day | sed /s/day/night/
輸出是:
nightday
換句話說,它只是在替換後附加整行。我使用的是運行 Android 6.01 的 Samsung Galaxy Tab A。當我打字時,which sed
我得到/system/bin/sed
,當我打字時,sed --version
我得到This is not GNU sed version 9.0
。
我已經在網上看到了一些關於此問題的帖子。人們說這可能是 sed 的一個有缺陷的版本。有沒有其他方法可以在 Android 平板電腦上的 shell 腳本(或只是自動方式)中進行搜尋和替換?
我安裝了一個名為“busybox”的東西,它提供了名為 的東西ed
,但同樣,我在執行替換命令時遇到了問題。它有時會起作用,但有時它會說“沒有找到___ 的替代品(我從一本應該與所有版本的正則表達式兼容的書中得到的簡短的基本正則表達式語句- 好吧,這聽起來很模糊,這是正規表示式語句: ^.*\bthe\b.*$
(該檔案包含大量「the」字樣。)
我想我的選擇是:A) 嘗試在該平板電腦上安裝 Linux,B) 根本不使用該平板電腦,C) 繼續尋找能夠在平板電腦上進行自動搜索和替換的軟體,或者嘗試找出問題所在在sed 中,如果有特殊的代碼字,它需要正常工作,D) ?
編輯:根據請求添加資訊:當我輸入時
echo day | od -c
我有
37777776620 d a y \n
37777776620
當我打字時
echo day | sed 's/day/night/' | od -c
我有
37777776620 n i g h t \0 d a y \n
37777776620
我聽到您關於複製和貼上的建議,但我似乎無法在這個“終端模擬器”應用程式中進行複製或貼上。