有很多问题表明如何反转句子中的每个单词,例如,我可以轻松地在 Python 或 Javascript 中做到这一点,但如何使用 Linux 命令做到这一点?看起来 tac 可能是一个选项,但这似乎可能会反转行和单词,而不仅仅是单词?还有哪些其他工具可以做到这一点?我真的不知道。我知道 rev
和 tac
和 awk
看起来都是竞争者......
所以我想从:
cat dog sleep
pillow green blue
至:
tac god peels
wollip neerg eulb
**轻微跟进
来自this reference看起来我可以使用 awk 将每个字段分解为单个字符数组,然后编写一个 for 循环以这种方式手动反转每个单词。这是相当尴尬的。当然有更好/更简洁的方法来做到这一点吗?
最佳答案
试穿一下尺码:
sed -e 's/\s+/ /g' -e 's/ /\n/g' < file.txt | rev | tr '\n' ' ' ; echo
它折叠了所有空格并将标点符号计为“单词”的一部分,但看起来它(至少大部分)有效。 sh
万岁!
关于linux - 如何使用linux命令反转文本文件中的每个单词而不改变单词的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549214/