如何使用linux命令反转文本文件中的每个单词而不改变单词的顺序

时间:2015-07-21 20:41:38

标签: linux

有很多问题表明如何反转一个句子中的每个单词,我可以用Python或Javascript这样做,但我怎么能用Linux命令呢?看起来tac可能是一个选项,但似乎这可能会反转行和单词,而不仅仅是单词?还有哪些工具可以做到这一点?我完全不知道。我知道revtac以及awk似乎都是竞争者......

所以我想来自:

cat dog sleep
pillow green blue

为:

tac god peels
wollip neerg eulb

**轻微跟进

this reference看起来我可以使用awk将每个字段分成单个字符数组,然后编写for循环以这种方式手动反转每个字。这很尴尬。当然,有更好/更简洁的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用此尺寸:

sed -e 's/\s+/ /g' -e 's/ /\n/g' < file.txt | rev | tr '\n' ' ' ; echo

它会折叠所有空间并将标点符号作为&#34;单词&#34;的一部分,但看起来它(至少大多数情况下)是有效的。 Hooray for sh