正規表現によるグループ化と計算

正規表現によるグループ化と計算

私のファイルには、次のような数十の値があります。

(1608926678.237962) vcan0 123#0000000158
(1608926678.251533) vcan0 456#0000000186

ハッシュ記号の前の数字に基づいて各数字の数量を計算したいです(含めることもできます)

フォローしようとしましたが、常に0が出ました。

 grep -o '\b\d+#\b' ./file.log | wc -l

どんなアイデアがありますか?上記の例で私が望むものは次のとおりです。

123# 1
456# 1

ベストアンサー1

grep + バッシュ:

$ grep -Eo '\b[0-9]+#\b' ./file.log  | sort | uniq -c  | while read -r a b; do echo "$b" "$a"; done
123# 1
456# 1

おすすめ記事