Как извлечь все четные и нечетные строки из файла и сохранить их в двух разных файлах, например Evenfile и Oddfile?

Как извлечь все четные и нечетные строки из файла и сохранить их в двух разных файлах, например Evenfile и Oddfile?

Предположим, у меня есть файл с именем "a.txt" и в нем 100 строк. Теперь я хочу извлечь нечетные строки, то есть строки 1,3,5... и т. д., и сохранить их в другом файле, например, Odd.txt, и то же самое для всех четных строк, чтобы сохранить их в файле even.txt, оставив исходный файл как есть.

решение1

Вы можете использовать awk:

awk '{ print > (NR % 2 ? "odd.txt" : "even.txt") }' a.txt

В зависимости от текущего номера строки эта функция считывает a.txtстроки из или и добавляет их в нее odd.txt.even.txt

решение2

С sed:

sed -ne 'w odd.txt' -e 'n; w even.txt' a.txt

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