2

我只需要帮助,想知道我想要的是否可行。这是我的文件看起来像

第 1 列 | 第 2 栏 | 第 3 列
------------------------------------------
A=狗| B=354 | C=343
A=猫 | B=435 | 乙=334
C=324 | A=牛| A=猪

有时,我需要在特定字段上过滤类似的模式并将其显示在我的屏幕上。例子

grep -Po 'A=(\w+)' test.txt

然后我会得到

A=狗
A=猫
A=鸟
A=牛
A=猪

但是,我想问的是是否可以显示另一列并将其显示在第一列旁边,这是我的示例以使其清楚

A=狗 B=354
A=猫 B=435
A=鸟 B=334
A=牛
A=猪

或者有时,我想用各自的组显示 3 列。单独使用“Grep”是否可行?

4

1 回答 1

0

只是想分享我经过几个小时的搜索并没有找到简单的解决方案:

$ grep -Po 'A=(\w+)' test.txt > a.txt
$ grep -Po 'B=(\d+)' test.txt > b.txt
$ pr -mtS a.txt b.txt

而已 :)

您也可以将其保存为 .csv

$ pr -mts: a.txt b.txt > combine.csv
*注意:冒号“:”是你的分隔符。

于 2013-06-01T10:05:30.047 回答