在Bash中为每个文本文件列出最多限制的文件名

Py-*_*ser 1 linux bash shell command-line

如何创建许多文本文件,其中包括特定目录中文件的文件名,每个文本文件最多999行?

我从这开始:

find ./J0902-405/*.evt -maxdepth 1 -type f -fprintf files_xselect.list %f\\n
Run Code Online (Sandbox Code Playgroud)

它在文本文件中正确写入文件名.但是之后,我需要设置999行限制,并在此限制之后,创建另一个包含以下999名称的文本文件,依此类推,直到列出所有*.evt文件.

小智 5

find ./J0902-405/*.evt -maxdepth 1 -type f | split -l999 -

从手册页:

NAME
   split - split a file into pieces

SYNOPSIS
   split [OPTION]... [INPUT [PREFIX]]

DESCRIPTION
   Output  fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 
   lines, and default PREFIX is `x'.  With no INPUT, or when INPUT is -, read standard 
   input.

   -l, --lines=NUMBER
          put NUMBER lines per output file
Run Code Online (Sandbox Code Playgroud)

  • +1之前从未听说过分裂,每天都学到一些知识. (2认同)