我怎样才能颠倒句子的第一部分?

use*_*550 5 shell

我知道我可以颠倒任何句子: echo "a,b,c,d" | rev

但是如果我只想反转句子的第一部分,我试过这个:

echo "a,b,c,d Access" | rev

我明白了:

sseccA d,c,b,a,而我真正想要的是:

d,c,b,a Access

我怎样才能做到这一点?

Mik*_*kel 8

一种方法是使用read将行分成第一个单词和其余单词,然后rev仅调用第一个单词

$ echo "a,b,c,d Access" | { read -r first rest; printf '%s %s\n' "$(rev <<< "$first")" "$rest"; }
d,c,b,a Access
Run Code Online (Sandbox Code Playgroud)