私は、奇妙な文字:✔
を含むかもしれない変数を持つスクリプトを持っています。私はそれらを削除する必要がありますが、正直言って、私はそれらの文字に一致するようにどこから始めるべきかも知らない。スクリプトにコピーして貼り付けることはできません。ちょうど?? ?
と表示されます。これらの文字をsedまたはawkとどのようにマッチさせることができますか?私は、システムの可用性のために、perlやPHPやsedやawkをはるかに超えるものを使用する能力を持っていません。sedまたはawkを使用して「チェックボックス」文字を削除する
答えて
私が解決したのは、スクリプトのエンコードをASCIIではなくUTF-8に変更したことでした。私はメモ帳でこれをやった。それで、私は16進数に変換するいくつかのラウンドアバウトの方法(これは変数が環境変数であり、ファイルからではないために何もできなかった)または何か他のものではなく、文字を直接使用することができました。私はまた、次のことがずっと簡単だったようなawkを使用するか、sedをする必要はありませんでした:
cleaned_var=${environmental_variable//" ✔"}
まず、特別な文字の周りにいくつかのフラグ文字列を入れてから、hexdump -C
を見てください。次に、HEXコードを使用してsed
コマンドを書き込みます。たとえば、次のようになります。
[STEP 118] # cat file
>>> ✔<<<
[STEP 119] # hexdump -C file
00000000 3e 3e 3e f0 9f 8d bf 20 e2 9c 94 3c 3c 3c 0a |>>>.... ...<<<.|
^^^^^^^^^^^^^^^^^^^^^^^^
[STEP 120] # sed -e $'s/\xf0\x9f\x8d\xbf\x20\xe2\x9c\x94//g' file # need to use the $'...'
>>><<<
[STEP 121] #
すべてが完了したら、追加されたフラグ文字列を削除します。
残念ながら、私が使用しているマシンにはhexdumpがなく、追加できません。私が必要とする変数は環境変数であり、ファイルではありませんが、ファイルに書き込むこともできます。私は何とかそこにhexdumpを得ることができるかどうかを見ます。 – user2328273
あなたは 'od'または' xxd'を使うこともできます。例: 'echo 123 | od -t x1'または 'echo 123 | xxd'。 – pynexj
これを試してみてください - (ファイルは、いくつかのコントロールMとあなたが質問に言及している文字が含まれていると私は唯一の英数字を印刷しようとしています)
$cat f
hello vipin
street1
pin 12345
✔
$awk '/[[:alnum:]]/ {print }' f
hello vipin
street1
pin 12345
コントロールのように見えます入力ファイルをSOに保存した後、M文字が消えています。
$ cat file
some weird characters: ✔. I need to remove
second line of some weird characters: ✔. I need to remove
$ tr -c -d '[:print:][:space:]' < file
some weird characters: . I need to remove
second line of some weird characters: . I need to remove
- 1. 最初に削除するN文字条件付きでsedまたはawkなどを使用する
- 2. sed/awkを使用して、区切り文字列の最後の部分を削除します。
- 3. sedを使用した文字列の削除
- 4. sedまたはawkの行番号を削除する
- 5. awk/sedを使用した再配置文字列
- 6. インデックスファイルのawk/sedを使用した再配置文字列
- 7. awkを使用してカラムを削除または削除する
- 8. awkを使用してbash文字列内の重複を削除する
- 9. sedを使用して空のファイルの文字列結果を削除する
- 10. linuxでawk/sedや別のコマンドを使って文字列を削除するには?
- 11. "sedまたはawk"を使用してbashの行から最後のカンマを削除する方法
- 12. piping sed | awkまたはawk | sed
- 13. sedまたはPerlを使用してxmlファイルから無効な文字を削除する方法
- 14. 削除する文字のsed
- 15. awkまたはsedで複数のメタ文字を取り除く方法
- 16. 文字列の一部に一致するsedまたはawk
- 17. AWK:エスケープ文字を使用して文
- 18. awkまたはsedを使用した特定のデータフォーマット
- 19. データを掃除するためのPythonまたはawk/sed
- 20. awkまたはsedを使用して列を整列しますか?
- 21. sedを使用してコードパターンを削除しますか?
- 22. sedまたはawkの特定のフィールドに文字を追加します
- 23. AWKのCSV行を削除したファイルを使用して
- 24. sedを使用して式をチェックして改行文字を削除します
- 25. sed、awkまたはgrepを使用してデータを抽出する
- 26. sedまたはawkを使用して日付形式を修正する
- 27. sedを使用してファイルから連続する特殊文字を削除します
- 28. (覚えておいてください)Awk/SED/Echoを使用してCSVの列エントリを削除する
- 29. sedまたはawkを使ってファイルから特定の関数を削除する
- 30. 特殊文字の削除 'sed'
あなたはより詳細な情報を提供することはできますか? –
これはLinuxマシンで、実際にドッカーアプリです。私はカスタムの後処理スクリプトが使用する環境変数を設定するプログラムを持っています。カスタムのポスト処理スクリプトを作成しようとしていますが、必要な変数の1つにそれらの文字があります。私は文字エンコーディングやそれについて何も知らない、それは私の問題のようなものです。 – user2328273
さて、あなたは 'file script'を使ってエンコーディングを得ることができ、' hexdump -C script'を使ってスクリプトから文字を見つけようとすることができます。あなたの質問にその情報を添付してください。 –