1

我正在尝试处理一些缺少行分隔符的大型文件。我想用 grep 和 sed 等面向行的工具来处理它们。

我想在我的管道前面放一些东西,每 130 个字符插入一个换行符。我对修改输入文件不感兴趣。

什么是有效的 BASH 单行,用于每 130 个字符添加一行到没有行的文件?

4

2 回答 2

4

如果您真的想要高效,可以使用特殊命令(coreutils 的一部分):

fold -w130 file | ...
于 2013-07-21T04:28:20.633 回答
3

我在提问中找到了答案。表达这个问题以理解这个答案的另一种方法是:什么是有效的 BASH 单行代码,用于一次读取不包含 130 个字符的文件?

答案是 BASH 内置read。它是一个非常适合此目的的强大工具。

cat unlined_data.txt | while read -n130 record ; do echo $record ; done # | rest of pipeline

可能有一个更优雅的解决方案,我很高兴看到一个。

于 2013-07-21T03:38:04.647 回答