Linux shell 按行切割大文件
最近项目中,文件内容有点多,想删除一部分的数据,如文件有1000行,想保留600行(仅用来举例,实际需求更复杂些),该怎么办呢?不如把文件切开来,想到用 split 试试split [-bl] file [prefix]参数说明:-b,--bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。-l,--lines=NUMBER:对file进...
最近项目中,文件内容有点多,想删除一部分的数据,如文件有1000行,想保留600行(仅用来举例,实际需求更复杂些),该怎么办呢?
不如把文件切开来,想到用 split 试试
split [-bl] file [prefix]
参数说明:
-b, --bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。
-l, --lines=NUMBER:对file进行切分,每个文件有NUMBER行。
prefix:分割后产生的文件名前缀。
如:
split -l 400 file1 splitfile
执行完上一行,目录下会多出两个文件 splitfilea splitfileb
splitfilea 是400行,splitfileb是 600行
删除 splitfilea 即可,如果文件为 1300 行呢,会多出 splitfilea splitfileb splitfilec splitfiled
又想把剩余的合并呢?
# 删除 splitfilea 后执行下面语句
cat splitfile* > result
# 或者直接合并
cat splitfileb splitfilec splitfiled > result
result 即为最终的文件
更多推荐
所有评论(0)