我正在尝试处理一些缺少行分隔符的大型文件。我想用 grep 和 sed 等面向行的工具来处理它们。
我想在我的管道前面放一些东西,每 130 个字符插入一个换行符。我对修改输入文件不感兴趣。
什么是有效的 BASH 单行,用于每 130 个字符添加一行到没有行的文件?
我正在尝试处理一些缺少行分隔符的大型文件。我想用 grep 和 sed 等面向行的工具来处理它们。
我想在我的管道前面放一些东西,每 130 个字符插入一个换行符。我对修改输入文件不感兴趣。
什么是有效的 BASH 单行,用于每 130 个字符添加一行到没有行的文件?
如果您真的想要高效,可以使用特殊命令(coreutils 的一部分):
fold -w130 file | ...
我在提问中找到了答案。表达这个问题以理解这个答案的另一种方法是:什么是有效的 BASH 单行代码,用于一次读取不包含 130 个字符的文件?
答案是 BASH 内置read
。它是一个非常适合此目的的强大工具。
cat unlined_data.txt | while read -n130 record ; do echo $record ; done # | rest of pipeline
可能有一个更优雅的解决方案,我很高兴看到一个。