如何在 UNIX/Cygwin 中反转文件/流中的文本?

如何在 UNIX/Cygwin 中反转文件/流中的文本?

我有一段文本,我想将其按字符逆序排列(反向屏蔽)。有没有一种简单的方法可以通过 Unix/Cygwin 命令行来实现?

答案1

使用 tac:

tac -r -s '.'

例子

来自 STDIN 的反转文本:
echo <YOUR TEXT GOES HERE> | tac -r -s '.'
文件中的反转文本:
tac -r -s '.' <FILENAME GOES HERE>

答案2

使用rev比 rmiesen 建议的要简单一些tac。从手册页来看,语法是

rev [option] [file...]

如果省略[file...],它将从 stdin 读取。因此,如果你想反转字符串中的文本,你可以这样做

echo "some words backwards" | rev

输出

sdrawkcab sdrow emos

或者其他语法

rev<<<"0123"

输出

3210

答案3

这是一个简单的 Python 东西,只是为了好玩:

$ cat revline.py
#!/usr/bin/env python
# 来源:https://superuser.com/a/1623168/346288

导入系统

行=sys.stdin.readline()
当 len(line) > 0 时:
  打印((line.strip('\r\n'))[-1 :: -1])
  行=sys.stdin.readline()

... 运行时的输出如下:

$ ./revline.py < revline.py
nohtyp vne/nib/rsu/!#
882643/8613261/a/moc.resurepus//:sptth :nigirO #

系统性

)(enildaer.nidts.sys=enil
:0>)埃尼尔(nel elihw
) ]1-::1-[))' n\r\'(pirts.enil( (tnirp
)(enildaer.nidts.sys=enil

$

哦,顺便说一句:ln -s /usr/bin/python3 $HOME/bin/python- 假设你有$HOME/bin-$PATH将使你的生活更轻松,假设你的 python 脚本知道 python3

笔记:反转行内容,但不反转命令的線條。

相关内容