Moh*_*awy 5 awk python text-processing sort
我有一个由多个部分组成的文件,每个部分都以特定标题开头,但所有部分都以相同的字符串结尾,我想根据标题对文件部分进行排序,而不对每个部分的内容进行排序(即将整个部分作为一个部分)块)每两个部分之间还有一个空行,以澄清输入是否为的想法
string5
z
y
x
string
string2
x
z
y
f
string
Run Code Online (Sandbox Code Playgroud)
所需的输出将是
string2
x
z
y
f
string
string5
z
y
x
string
Run Code Online (Sandbox Code Playgroud)
使用 GNUsed
和sort
:
sed 's/^$/\x0/g' file | sort -z | tr '\0' '\n'
Run Code Online (Sandbox Code Playgroud)
sort
使用空字符作为分隔符 ( -z
)tr
。| sed '1{/^$/d};${/^$/d}'
输出:
string2
x
z
y
f
string
string5
z
y
x
string
Run Code Online (Sandbox Code Playgroud)
(也许有人可以帮助\x0
为非 GNU 工作sed
,相关问题)