###前提・実現したいこと
環境
・CentOS7
・GNU bash, バージョン 4.2.46(1)-release (x86_64-redhat-linux-gnu)
実現したいこと
straceで出力されるreadシステムコールの第2引数をasciiの文字コードに変換して表示したい。
例)straceから表示される一部
sh
1read(12, "\x64\x65", 16384) = 1 2#この場合だと、\x64\x65を解釈して、deと表示されてほしい。
###発生している問題・エラーメッセージ
sedで表示された文字列がechoで表示されない。
sedで渡した引数に対して、変換処理をする際にうまくいきません。
###該当のソースコード
sh
1#!/bin/bash 2 3PID=2000 #任意のPID 4 5strace -e read -s16384 -q -xx -p ${PID} 2>&1 | sed -une "s=^read(12, \"\(.*\)\".*=\1=p" | xargs echo -ne
sh
1#!/bin/bash 2 3PID=2000 #任意のPID 4 5strace -e read -s16384 -q -xx -p ${PID} 2>&1 | sed -une "s=^read(12, \"\(.*\)\".*=\1=p" 6#ここまでであれば、以下のように16進数が表示される。 7#\x6c 8#\x6c 9#\x0d\x0a
どのようにすれば、sedから渡される16進数の文字列を、asciiに変換して表示できるか教えていただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/03 19:42
2016/12/04 01:53
2016/12/04 02:21