簡體   English   中英

從文件中提取唯一單詞並在 linux 中分隔的同一行選項卡中打印與其關聯的數字

[英]Extract unique words from a file and print the numbers associated with it in the same line tab separated in linux

我的文件格式如下:

1: test
18: test
29: test
25: crazy
30: crazy

我想忽略大小寫並獲取文件中的唯一單詞及其各自的計數

所需的 output 應該是:

test: 1 18 29
crazy: 25 30

有人可以指導如何在 Linux/Bash 中做到這一點嗎?

有人可以指導如何在 Linux/Bash 中做到這一點嗎?

您可以使用 awk 的關聯數組來實現:

  • 將第二個字段轉換為大寫或小寫
  • 在 awk 中構建關聯數組
  • 將第一步中的結果用作鍵,並將 append 用作數組中的第一個字段
  • 在所有行都由 awk 處理后,你 go 通過你的數組,打印出鍵和值

這將打印所需的 output。

awk -F':' '{a[$2]=a[$2]" " $1}END{for(i in a) print i": " a[i]}' input_file.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM