Alb*_*oss 8 text-processing split files newlines
我能够split成功使用该命令将大文件拆分为多个小文件。这是通过以下命令实现的
split -b 1G $temp_path $final_filepath
Run Code Online (Sandbox Code Playgroud)
但唯一需要注意的是,这些文件多次包含最后一行,该行被分成 2 个文件。有没有办法避免使用split或任何其他命令?
是的,不要使用-b参数。从split(1) 手册页:
-b, --bytes=SIZE 每个输出文件放置 SIZE 字节
-C, --line-bytes=SIZE 每个输出文件最多放置 SIZE 字节的行
-l, --lines=NUMBER 为每个输出文件放置 NUMBER 行
通过使用,-b您告诉 split 以字节(或 Kb 或 MB)为单位以特定大小划分文件。如果那是一条线的中间,那就太糟糕了。
拆分支持“行数”和“由整行组成的最大输出文件大小”。
相反,试试这个:
split -C 1G $temp_path $final_filepath
Run Code Online (Sandbox Code Playgroud)
该-C标志并非在所有版本的 split 上都可用(特别是 OS X / Darwin)。在这种情况下,您可以使用Homebrew和MacPorts上gsplit的 GNUcoreutils包中提供的。