У меня есть огромный файл, содержащий несколько подсетей, например:Split несколько похожих строк в двух отдельных файлах с Bash
234.245.34.324/24
234.214.23.34/24
234.344.234.14/24
234.214.234.314/24
234.245.34.324/23
234.214.23.34/22
234.344.234.14/22
234.214.234.314/23
234.245.34.324/24
234.214.23.34/20
234.344.234.14/21
234.214.234.314/20
все они с разными IP-адресами и одной подсети, например, у меня есть 2340 подсеть с /24
.
Теперь я хочу эти разделить на 2 файлов, где 50% всех /24
расколов в каждом файле, то же самое для /23
, /22
/21
т.д.
Я знаю, что я могу разделить с split -l
но это будет только дай мне линию. Цель состоит в том, чтобы получить одинаковое количество подсетей в оба файла.
Это должно быть сделано в Linux bash, так как оно будет автоматизировано.
Кто-нибудь знает, как это сделать?
извините, забыл сказать, что это должно быть сделано в linux bash, так как оно будет автоматизировано – kryd
Что вы пробовали? Пожалуйста, прочитайте [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask). – DavidPostill
Лично я начинал с фильтрации в файл (предположительно во временном каталоге) на размер маски - т. Е. файл с именем '20' со всеми'/20 's, файл с именем' 19' со всеми '/ 19' s и т. д .; это тривиально делать с GNU awk; то вы просто берете половину каждого файла. –