我有一个带有换行符分隔字符串的文本文件。我的问题是按如下方式处理每一行:使用空格作为分隔符来打乱标记的顺序。
例如:
输入:
A B C
输出:
C A B
重复运行命令/脚本当然应该提供不同的顺序。
我当前的解决方案(对于单个文本行):
$ cat <file> | tr " " "\n" | shuf | tr "\n" " "
是否有一个很好的(更好的)命令行组合来处理具有多行的文本文件?
我有一个带有换行符分隔字符串的文本文件。我的问题是按如下方式处理每一行:使用空格作为分隔符来打乱标记的顺序。
例如:
输入:
A B C
输出:
C A B
重复运行命令/脚本当然应该提供不同的顺序。
我当前的解决方案(对于单个文本行):
$ cat <file> | tr " " "\n" | shuf | tr "\n" " "
是否有一个很好的(更好的)命令行组合来处理具有多行的文本文件?
我有一个文本文件,其中空行分隔文本块。我想使用 *NIX 命令行工具来洗牌这个文件,同时尊重块结构。换句话说,在输出中我想看到块的改变顺序;块内的行及其顺序保持不变。
输入文件示例:
line 1
line 2
line 10
line 20
line 30
line 100
line 200
输出文件(洗牌后):
line 10
line 20
line 30
line 1
line 2
line 100
line 200
当然,重复运行应该给出不同的块顺序。
文件的第一行总是非空的。没有双空行。文件的最后一行始终为空。
我编写了一个非常简单的 Python 脚本,它读取列表列表中的所有行,将其打乱并输出。我很好奇我是否可以使用标准的 *NIX 工具来做到这一点。