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

xyz*_*xyz 3 linux shell scripting awk sed

我有一个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
Run Code Online (Sandbox Code Playgroud)

我希望输出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
Run Code Online (Sandbox Code Playgroud)

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

我应该明智地通过这些代码行文件.我发现它很乏味,如果不同文件的条目之间存在线间距,那么对我来说会更容易,因此需要输出.

Cam*_*dan 6

Awk可以做到:

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

A 是文件名.