
こんにちは、私は初めて使います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 タブレットでシェル スクリプトで検索と置換を行う他の方法 (または単に自動化された方法) はありますか?
と呼ばれるものを提供する「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
コピー アンド ペーストを推奨するのはわかりますが、この「ターミナル エミュレーター」アプリではコピーや貼り付けができなかったようです。