如何根据sed反转所有单词?

如何根据sed反转所有单词?,sed,reverse,word,Sed,Reverse,Word,例如,我们有: This is the song that doesn`t end 什么sed命令会把它变成这样 end doesn`t that song the is This 我只找到了如何反转文件中的行(又称为tac): 请您尝试以下内容,并让我知道这是否有助于您 awk '{for(i=NF;i>0;i--){printf("%s%s",$i,(i>1?OFS:ORS))}}' Input_file 这可能适用于您(GNU-sed): 追加一个换行符作为分隔符。将当

例如,我们有:

This is the song that doesn`t end
什么sed命令会把它变成这样

end doesn`t that song the is This
我只找到了如何反转文件中的行(又称为tac):


请您尝试以下内容,并让我知道这是否有助于您

awk '{for(i=NF;i>0;i--){printf("%s%s",$i,(i>1?OFS:ORS))}}'  Input_file
这可能适用于您(GNU-sed):


追加一个换行符作为分隔符。将当前行拆分为三行,并按顺序在第一个单词、后面的空格和换行符后面的行的其余部分前面加上前缀。迭代直到模式匹配失败,然后删除引入的换行符。

为什么您认为sed是一个合理的选择?sed只适用于
s/old/new/
,仅此而已。您可以适应交换单词而不是字符,但几乎可以肯定,这将是一个脆弱的、无法读取的混乱局面。
awk '{for(i=NF;i>0;i--){printf("%s%s",$i,(i>1?OFS:ORS))}}'  Input_file
sed -r 'G;:a;s/^(\S+)(\s*)(.*\n)/\3\2\1/;ta;s/\n//' file