特定の文字列パターン間の文字列の抽出

特定の文字列パターン間の文字列の抽出

イーサリアム 特定の文字列の間にあるトランザクションハッシュを抽出するログファイル送信(0xそして)そして前後に行が多いです。

入力ファイル

I0623 10:56:00.025283 miner/worker.go:516] commit new work on block 1903 with 0 txs & 0 uncles. Took 621.171µs
I0623 10:56:00.025349 miner/unconfirmed.go:105] 

答え1

複数の区切り文字を使用するソリューションawk:

awk -F 'Tx\\(0x|)' '/Tx/ {print $2}' <your_file>

どこ:

  • -F 'Tx\\(0x|)': 区切り記号の使用送信(0xそして)
  • /Tx/:以下を含む行のみを印刷します。送信機
  • {print $2}:2番目の要素を印刷します。

答え2

1行に1つのTxしかない場合...:

sed -n 's/.*Tx(0x\(.*\)) to.*/\1/p' logfile > outfile

-n一致しない行の出力を抑制するオプション

関連情報