我有一个数据看起来像这样
<some blah! blah!>|201451|<some blah! blah!>
<some blah! blah!>|201441|<some blah! blah!>
<some blah! blah!>|201431|<some blah! blah!>
<some blah! blah!>|201421|<some blah! blah!>
Run Code Online (Sandbox Code Playgroud)
我必须将其排序为
<some blah! blah!>|201421|<some blah! blah!>
<some blah! blah!>|201431|<some blah! blah!>
<some blah! blah!>|201441|<some blah! blah!>
<some blah! blah!>|201451|<some blah! blah!>
Run Code Online (Sandbox Code Playgroud)
我尝试过使用这两个:
sort -t"|" -k4.5,4.6 -b data
LC_ALL=c sort -t"|" -k4.5,4.6 -b data
Run Code Online (Sandbox Code Playgroud)
但它总是给我
<FOUR BLANK SPACE>
<some blah! blah!>|201421|<some blah! blah!>
<some blah! blah!>|201431|<some blah! blah!>
<some blah! blah!>|201441|<some blah! blah!>
<some blah! blah!>|201451|<some blah! blah!>
Run Code Online (Sandbox Code Playgroud)
我想用排序后的值维护空间。我该怎么办?
基本上我必须忽略行空间而不是删除它们......
尝试执行:
sort -t"|" -k4.5,4.6 data | grep -v "^$" | awk '{print $0"\n"}'
Run Code Online (Sandbox Code Playgroud)