Bashコマンドの戻り文字列から一部の16進値をフィルタリングする必要があります。たとえば、次のようになります。
hexVal=`mmc extcsd read /dev/mmcblk1 | grep 'Max Enhanced Area Size'`
hexVal 値を返します。
Max Enhanced Are Size [MAX_ENH_SIZE_MULT]: 0x000bd8
ここで hexVal の値を次のように返す必要があります。
0x000bd8
答え1
grep
awk
パターンマッチングとマッチフィールドを印刷するときに便利なので、代わりに使用できます。
mmc extcsd read /dev/mmcblk1 | awk -F: '$1 ~ "^""Max Enhanced Area Size" { print $2 }'
上記の結果から先行スペースを削除することもできます。
awk -F: '$1 ~ "^""Max Enhanced Area Size" { sub(/^[[:space:]]/,"",$2); print $2 }'
grep
GNUバージョンを使用していてインストールされている場合は、PCREモードを使用してください。
grep -oP '^Max Enhanced Area Size.*:(\s+)\K(.+)'