繁体   English   中英

从文件夹中的所有文件中提取 200 行

[英]Extracting 200 lines from all the files in a folder

我有一个包含很多 CSV 文件的文件夹。 还有子文件夹。 对于每个这样的文件,我需要提取前 200 行(以制作 db 子样本),用这些行创建另一个文件。 所以我会有几个新文件,每个文件都有 200 行。 我需要在 Linux Ubuntu 并使用 OS shell 命令完成此任务。 有没有办法做到这一点? 提前致谢。

此行可以满足您的需求:

find . -type f -name "*.csv" -print|xargs -I@ sh -c 'head -n200 @ > @.headed'

这条线由不同的部分组成:

  1. 找到必须“带头”的文件
  2. find命令的output只是文件列表
  3. xargs 命令获取文件列表并在其上运行命令通过 sh -c 选项
  4. 显示文件的第一行 200 并将其放入带有“headed”扩展名的文件名中的命令

有了这一行,您就有了一个解决方案,该解决方案可以扩展到您编写的那个附近的另一个用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM