<分区>
我有一个非常大的文件,如下所示:
//abc/file1.js
some javascript code
//abc/file2.js
some javascript code
//abc/file3.js
some javascript code
这里我想将这个大文件拆分成多个部分,并将这些部分存储到file1.js
、file2.js
等
标签 shell
<分区>
我有一个非常大的文件,如下所示:
//abc/file1.js
some javascript code
//abc/file2.js
some javascript code
//abc/file3.js
some javascript code
这里我想将这个大文件拆分成多个部分,并将这些部分存储到file1.js
、file2.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/