shell - 如何使用 shell 将大文件拆分成多个部分

标签 shell

<分区>

我有一个非常大的文件,如下所示:

//abc/file1.js

some javascript code

//abc/file2.js

some javascript code

//abc/file3.js

some javascript code

这里我想将这个大文件拆分成多个部分,并将这些部分存储到file1.jsfile2.js

最佳答案

你可以用 awk 做到这一点。打印出每个输入行,但只要输入行指示新文件开始,文件名就会更改。

awk '
    /^\/\/abc\// { filename = $1; sub(/.*\//, "", filename); next; }
    filename { print >filename }
'

如果您希望包含标题行,请移除对 next 的调用,例如将 //abc/file1.js 作为 file1.js 的第一行。您可能希望根据您的要求调整识别标题行的代码。第一个标题行之前的文本不会在任何地方打印;如果要将其打印到标准输出,请将 filename { … } 更改为 1 { … }

关于shell - 如何使用 shell 将大文件拆分成多个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356830/

相关文章:

linux - 如何在 printf 中传递变量

linux - 我需要 grep 查找密码文件中的确切单词,但我得到了两个回复

bash - 在 ls bash 输出中添加 md5sum

linux - bash脚本获取脚本的绝对目录

python - 捕获shell执行输出的简单python命令?

linux - 如何从多个文件中提取一列,并将这些列粘贴到一个文件中?

shell - 如何在目录及其子目录上递归使用 tail -f ?

shell - 从变量中删除 Bourne Shell 中的换行符

regex - 如何使用文件动态指定模式并根据该目录中的模式获取文件?

linux - 我的 sed 命令是否正确解析来自 JSON 响应的特定键的值