You can also use a SSJS script activity to do this.
Retrieve the rows you need (up to 2500, beyond that you need WSProxy):
var birthdayDE = DataExtension.Init("birthdayDE");
var filter = {Property:"Age",SimpleOperator:"greaterThan",Value:20};
var data = birthdayDE.Rows.Retrieve(filter);
Add the rows to your new DE:
var arrContacts = [
{Email:"jdoe@example.com",FirstName:"John",LastName:"Doe"},
{Email:"aruiz@example.com",FirstName:"Angel",LastName:"Ruiz"}
];
var birthdayDE = DataExtension.Init("birthdayDE");
birthdayDE.Rows.Add(arrContacts);
Delete the rows from the original DE:
var birthdayDE= DataExtension.Init("birthdayDE");
birthdayDE.Rows.Remove(["FirstName", "Age"], ["Angel", 24]);
The above are all via the Core library, so you will need to associate with Platform.Load("Core","1.1.1")
at the top to utilize. You can also do to the add/delete via the Platform functions, but the platform lookup will not give the flexibility needed to get via domain. (only allows 'equals' simple operator)
If you are a bit of a developer you can also build this out via WSProxy which will be a bit more efficient.