linux - 将文本文件拆分成块并保存
问题描述
我有一个名为 test.txt 的大文本文件。现在我想将大文本文件拆分为...
符号处的块,并希望以与之后的名称相同的名称保存/home/niu/
。(在下面的数据示例中,我需要 20190630_073410_1.5_29_PCK.txt
为第一个块、20180630_073410_1.5_29_PCK.txt
第二个块和20190830_093410_1.5_29_PCK.txt
第三个块保存数据块。
因此我尝试了下面的代码:
#!/bin/sh
for file in 'test.txt'
do
split -l '...'
done
它不起作用:我希望有人能帮助我。谢谢。
我保存在 test.txt 中的数据如下:
...........................................................................................................
/home/niu/20190630_073410_1.5_29_PCK.txt 470.2359935984357 41573823894247.63 53.46648291467124 216 1 0.1
/home/niu/20190630_073410_1.5_29_PCK.txt 13.124782961287574 219608788311302.7 53.46425102814092 219 1 0.6
/home/niu/20190630_073410_1.5_29_PCK.txt 4.092419925137149 12174862157739.746 53.44206693334351 291 1 1.1
...........................................................................................................
/home/niu/20180630_073410_1.5_29_PCK.txt 2.241494955966288 363350265475740.4 53.36874778729164 219 1 0.1
/home/niu/20180630_073410_1.5_29_PCK.txt 1.6671382966847936 282579486756.3921 53.234249504389624 218 1 2.1
/home/niu/20180630_073410_1.5_29_PCK.txt 1.4410832347641427 17729080367.579777 53.06935945567802 216 1 2.6
...........................................................................................................
/home/niu/20190830_093410_1.5_29_PCK.txt 1.2367527642969733 5141.577700615736 52.776493933960644 127 0 3.6
/home/niu/20190830_093410_1.5_29_PCK.txt 1.171644866817557 3279.978138771641 52.65760209064783 135 0 4.1
/home/niu/20190830_093410_1.5_29_PCK.txt 1.120249969361367 2441.45977994814 52.54882982584634 105 0 4.6
解决方案
awk '/\.\.\./{close(out); next} {split($1, a, "/"); out=a[4]; print > out}' file
你可以使用这个 awk。我假设点 ( ...
) 仅存在于分隔行中,所有其他行也以 开头/home/niu/filename.txt
,我们从中获取输出文件名。如果不是这种情况,请更新问题。
推荐阅读
- css - 在 Bootstrap 4 中自定义轮播指示器
- apache-spark-sql - 如果 Databricks 或 Spark SQL 中存在表,则插入
- angular - Fullcalendar v4 - 资源(作为函数):fetchInfo 为空
- scala - 使用 Scala/Play Framework 2.7.x 解码 Cookie 字符串
- android - Google Classroom API - 如何在检索课程列表时格式化 setFields 参数
- r - 如何使用条形图更改填充颜色
- android - 如何在 Android 的 Google 地图中绘制徒手多边形?
- ios - SwiftUI 误导性错误:“Int”不可转换为“CGFloat”
- django - Nginx 反向代理到 Django 接收“上游过早关闭的连接,同时从上游读取响应标头”
- shell - 如果通过自动化运行,kubectl exec into pod 导致每次都无法使用 TTY 错误