組み込み系のash環境です。
以下のコードは、外部テキストファイル(shift-jis)をwhileで1行ずつ読み込んで、
シリアルポートの/dev/ttyUSB0へ1行の内容をそのまま送信する処理の一部です。
ファイルの中に日本語の0x5cのバックスラッシュがあると、文字化けしてしまいます。
0x5c混在のサンプルとして「表示」の漢字が正常に送れるかの試験コードを作りました。
以下のスクリプトの文字コードはshiftJISで保存し実行しました。
text=ダメ文字表示テスト
filtered_text=`echo $text | sed -e 's/\\/\\\\/g'`
echo -e "ORG text $text"
echo -e "filtered_text $filtered_text"
echo -e "$filtered_text" > /dev/ttyUSB0
結果
sed: unmatched '/'
ORG text ダメ文字侮ヲテスト
filtered_text
やりたいこと
シェルスクリプト内の変数に格納して、/dev/ttyUSB0へ「ダメ文字表示テスト」とそのまま送信したいです。
1行ずつ送信する理由は、たまに行間で制御コードを混ぜる必要があるためです。
sedの行が肝になると思い、作例を1日探しましたが、探し方が下手で見つけられませんでした。
sed以外のコマンドでも使えるコマンドがあれば何でもいいです。
nkfは無しでした。iconvはありましたがShiftjisのコードが含まれていませんでした。
そもそも最終的に送信するデータがshiftjisなので、これらは関係ないと気づきました。
どのような書き方でできるか、お知恵をいただけないでしょうか。
シェルスクリプト総合 その33
■ このスレッドは過去ログ倉庫に格納されています
582デフォルトの名無しさん
2020/07/15(水) 10:35:51.78ID:GO+Zaox3■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【W杯C組結果】スコットランド0-3ブラジル/モロッコ4-2ハイチ [征夷大将軍★]
- 【米紙報道】高市首相「コングレッショナルフェロー(官職)」経歴詐称疑惑… ★4 [BFU★]
- 【岐阜】“終わりの会”の最中に…中学校で男性教師(41)が生徒に顔を複数回殴られ出血し搬送 2年生の14歳少年を現行犯逮捕 各務原 [ぐれ★]
- 【サッカー】日本代表、決勝Tの相手が確定! 2位通過ならブラジルと対戦、逆転1位ならモロッコと対戦… X戦々恐々「どっちも怖い」 [冬月記者★]
- 【速報】W杯C組前半終了:スコットランド0-2ブラジル/モロッコ2-2ハイチ [征夷大将軍★]
- 【地震】青森県で震度6強の地震 「北海道・三陸沖後発地震注意」発表か 気象庁が分析中 モーメント・マグニチュード7.0以上なら [ぐれ★]
- 【MLB】ツインズ vs ドジャース ★5
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★172【メキシコ/カナダ/アメリカ】
- 【MLB】ツインズ vs ドジャース ★6
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★171【メキシコ/カナダ/アメリカ】
- MLB総合★50
- 〓たかせん〓 5
- ブルーインパルス、また能登で飛んでしまう 高市「6/28わよ!😍 [399259198]
- 教育基本法改正20年 かつての自民党協議の議事録を入手 「愛国心」を盛り込むかどうかで論争😲 [861717324]
- 坊主クビAKB48花田藍衣「私一人では死なん。他のAKBメンバーがセックスしてる証拠出すぞ」 [977790669]
- Xまんさん👩「電車でジジイと肌が触れた瞬間その皮膚が汚れてそこから壊死していく感覚になる」⬅10万いいね [343591364]
- 【速報】1位通過でモロッコ、2位通過でブラジルとの対戦が確定 [369521721]
- 青森で震度6強 [253992206]