逆引きUNIXコマンド/エスケープカラーシーケンスをテキストから除く方法
の編集
Top
/
逆引きUNIXコマンド
/
エスケープカラーシーケンスをテキストから除く方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * エスケープカラーシーケンスをテキストから除く方法 [#wc1f3dd8] grep --colorなどのオプションで出力されたテキストをファイル化したとき、エスケープシーケンスで~ 色が含まれた状態で保存された場合の対処方法です。~ 尚、本資料は以下のサイトを参考にさせていただきました。 -[[ANSI カラーシーケンスを除去するコマンド>http://d.hatena.ne.jp/kitokitoki/20111225/p5]] #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) #contents -[[ANSI カラーシーケンスを除去するコマンド>http://d.hatena.ne.jp/kitokitoki/20111225/p5]] * 参考サイト [#w0dc227a] * sedを使ってカラーシーケンスを削除する [#fd08985c] 上記でも記述したサイトのsedコマンドを紹介させていただきます。~ 以下のようにすれば、カラーシーケンスを含んだテキストファイルがからカラーシーケンスを除去することができます。 cat カラーシーケンスを含んだテキストファイル | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > 出力ファイル名 * 実際にカラーシーケンスを含んだファイルで試してみる [#mac0b08c] 実際にカラーシーケンスを含むファイルで実行してみます。 ** カラーシーケンスを含むファイルの確認 [#rb592e40] 以下のスクリーンショットの通り、catすると色がついて表示されます。 #ref(01.png) #br また、vi(vim)でファイルを開くとエスケープシーケンスが含まれているのが確認できます。 #ref(02.png) #br ** sedでカラーシーケンスを除去する [#g9b7d2cc] sakura@cygwin ~$ cat include_esc_color.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > out.txt sakura@cygwin ~$ cat out.txt 2016-04-12 Windows 500 2016-05-03 macOS 700 2016-05-03 Linux 440 2016-05-04 *BSD 1000 2016-05-24 Android 300 2016-06-04 iOS 80 vi(vim)で開くと除去されているのが確認できます。 #ref(03.png) * aliasなどに登録すると便利 [#d71678a8] 上記のsedコマンドを以下の様にaliasに登録すると便利に使用できます。 alias color_strip='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"' 以上、sedを使ってカラーシーケンスを削除する方法でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * エスケープカラーシーケンスをテキストから除く方法 [#wc1f3dd8] grep --colorなどのオプションで出力されたテキストをファイル化したとき、エスケープシーケンスで~ 色が含まれた状態で保存された場合の対処方法です。~ 尚、本資料は以下のサイトを参考にさせていただきました。 -[[ANSI カラーシーケンスを除去するコマンド>http://d.hatena.ne.jp/kitokitoki/20111225/p5]] #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) #contents -[[ANSI カラーシーケンスを除去するコマンド>http://d.hatena.ne.jp/kitokitoki/20111225/p5]] * 参考サイト [#w0dc227a] * sedを使ってカラーシーケンスを削除する [#fd08985c] 上記でも記述したサイトのsedコマンドを紹介させていただきます。~ 以下のようにすれば、カラーシーケンスを含んだテキストファイルがからカラーシーケンスを除去することができます。 cat カラーシーケンスを含んだテキストファイル | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > 出力ファイル名 * 実際にカラーシーケンスを含んだファイルで試してみる [#mac0b08c] 実際にカラーシーケンスを含むファイルで実行してみます。 ** カラーシーケンスを含むファイルの確認 [#rb592e40] 以下のスクリーンショットの通り、catすると色がついて表示されます。 #ref(01.png) #br また、vi(vim)でファイルを開くとエスケープシーケンスが含まれているのが確認できます。 #ref(02.png) #br ** sedでカラーシーケンスを除去する [#g9b7d2cc] sakura@cygwin ~$ cat include_esc_color.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > out.txt sakura@cygwin ~$ cat out.txt 2016-04-12 Windows 500 2016-05-03 macOS 700 2016-05-03 Linux 440 2016-05-04 *BSD 1000 2016-05-24 Android 300 2016-06-04 iOS 80 vi(vim)で開くと除去されているのが確認できます。 #ref(03.png) * aliasなどに登録すると便利 [#d71678a8] 上記のsedコマンドを以下の様にaliasに登録すると便利に使用できます。 alias color_strip='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"' 以上、sedを使ってカラーシーケンスを削除する方法でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
03.png
754件
[
詳細
]
02.png
772件
[
詳細
]
01.png
805件
[
詳細
]