一尘不染

在不同组的行之间添加空白行

linux

我有一个格式A如下的文件(频率,文件名,代码行):

1 file_name1 code_line1
2 file_name2 code_line2
2 file_name2 code_line3
2 file_name3 code_line4
2 file_name3 code_line5
3 file_name4 code_line6
3 file_name4 code_line7
3 file_name4 code_line8

我希望输出B为:

1 file_name1 code_line1

2 file_name2 code_line2
2 file_name2 code_line3

2 file_name3 code_line4
2 file_name3 code_line5

3 file_name4 code_line6
3 file_name4 code_line7
3 file_name4 code_line8

基本上,文件A包含来自文件的文件名和代码行,第一个字段是频率,即文件中的代码行数。

我应该明智地阅读这些代码行。我发现这很乏味,并且如果不同文件的条目之间存在行距,那么对我来说将更容易,因此需要输出。


阅读 189

收藏
2020-06-07

共1个答案

一尘不染

Awk可以做到:

awk '{if(NR > 1 && $2 != prev_two){printf "\n";} prev_two=$2; print $0}' A

A 是文件名。

2020-06-07