pythonで外部のコマンドを実行し、その出力に処理を加える方法
cat xxx
のようなコマンドをpythonから実行して、結果を受け取りたいです。
受け取る実行結果は、
1 aaa 3a
2 bbb 32
3 ccc 50
4 ddd 41
5 eee 15
のような文字列を想定しています。
この文字列の各行をスペースでフィールドに区切り、各フィールドに処理を加え出力したいです。
- 1〜2フィールド目はそのまま出力
- 3フィールド目(30など)は16進表現の文字列と考えて数値に変換し、以下のビット演算を行なう
- 5ビット目(0か1)を3フィールド目に出力
- 4ビット目(0か1)を4フィールド目に出力
- 3~1ビット目を、10進表現(0~7)で5フィールド目に出力
出力例:
1 aaa 1 1 2
2 bbb 1 0 2
3 ccc 1 0 0
4 ddd 0 0 1
5 eee 1 0 5
このように加工することはできますか?