Разделить на два файла на основе шаблона в файле

Разделить на два файла на основе шаблона в файле

У меня есть файл с таким содержанием:

xyz[0]
xyz[1]
xyz[2]
xyz[3]
abc[0]
abc[1]
abc[2]

Каждое значение отделено новой строкой. Я хочу разделить их на два разных файла в зависимости от того, является ли число в квадратных скобках четным или нечетным.

решение1

Используя Awk, разделите по символам [, ]а затем разделите по модулю второе поле:

$ awk -F'[][]' '{f = $2%2 ? "odd" : "even"; print > f}' file

$ head odd even
==> odd <==
xyz[1]
xyz[3]
abc[1]

==> even <==
xyz[0]
xyz[2]
abc[0]
abc[2]

Связанный контент