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
包含文件中的文件名和代码行,第一个字段是频率,即文件中的代码行数.
我应该明智地通过这些代码行文件.我发现它很乏味,如果不同文件的条目之间存在线间距,那么对我来说会更容易,因此需要输出.
Awk可以做到:
awk '{if(NR > 1 && $2 != prev_two){printf "\n";} prev_two=$2; print $0}' A
Run Code Online (Sandbox Code Playgroud)
A
是文件名.