需要一个快速的Linux提示。
我有一个文件,同时有多个记录的批次。
喜欢
public static void StartUp()
{
XmlDictionaryReaderQuotas quota = new XmlDictionaryReaderQuotas();
quota.MaxArrayLength = 2147483647;
quota.MaxBytesPerRead = 2147483647;
quota.MaxDepth = 2147483647;
quota.MaxNameTableCharCount = 2147483647;
quota.MaxStringContentLength = 2147483647;
EndpointAddress addr = new EndpointAddress(new Uri("http://127.0.0.1/CX/CX.svc"));
WSHttpBinding binding1 = new WSHttpBinding();
binding1.Name = "WSHttpBinding_ICX";
binding1.MaxReceivedMessageSize = 1073741824;
binding1.ReaderQuotas = quota;
// Globals.CXClient is the client object
Globals.CXClient = new CXService.CXClient(binding1, addr);
// This line does not compile! Endpoint is read-only!!
Globals.CXClient.Endpoint = new ServiceEndpoint(new ContractDescription("CXService.ICX"), (Binding)binding1, addr);
}
我需要将其拆分为多个文件,从“HDR”(包括)到下一个HDR(不包括在内)。
以这种方式,如果我在文件中有100个批处理,我需要将其分成4个文件25个。
答案 0 :(得分:2)
awk
救援!
awk '/HDR/{c++} {print > FILENAME"_"c }' file
或更一般地说,在分割文件中获取n
个模式,例如n = 3。
awk -v n=3 '/HDR/{k=int(c/n)+1; c++} {print > FILENAME"_"k }' file