У меня есть два файла со следующими данными
file1:
6100540301SD01 ON5330399520191104906781 2019110390678151053303995ACK 20191105
6100540301SD01 ON0403096420191104225695 2019110322569551004030964A 20191105
6005260301SD01 46460045792019110490678911059455 2019110490678951000755694BE3 1120191105
6005260301SD01 46460045792019110490679616020577 2019110490679651000764053BDJDEDH 1620191105
file2:
20191104
20191105
20191106
Поскольку file1 является файлом фиксированной ширины, строка в позиции от 97 до 104 является датой. Я хочу извлечь строку по позиции от 97 до 104 и проверить, существует ли она в file2 . Если он существует, я хочу скопировать всю строку в file3 . Если его нет, я хочу скопировать его в file4 .
Я создал программу на C ++, но онаобработка file1 занимает много времени, в то время как это почти полмиллиона записей. Поэтому, если есть какой-либо скрипт awk/sed
, который может быть полезен, пожалуйста, поделитесь.