Ubuntu 命令行上的 split 命令

Ubuntu 命令行上的 split 命令

我想将一个文件拆分为多个文件,每个文件最多 25 行。

我正在使用这个:

split -l 25 /etc/adduser.conf > /home/ubuntu/PL/trab3/rc_

但我没有得到我期望的文件。

我如何获取文件名为 rc_01、rc_02 等的文件?

答案1

重定向(符号>)由 shell 处理,并且它只能输出到单个文件,即您命名的文件。省略>,以便将其作为命令行参数/home/ubuntu/PL/trab3/rc_传递给split,以便它可以将其用作其输出前缀。

答案2

Split 不支持输出文件名的后缀。据我所知,它仅支持前缀。对于文本文件,您可以尝试 awk:

awk ‘NR%25​​==1 { i+=1;文件 = “/home/ubuntu/PL/trab3/rc” “_” sprintf(“%02d”, i) } { 打印 > 文件 }’ /etc/adduser.conf

相关内容