I'm using grep to generate a list of files I need to move:
grep -L -r 'Subject: \[SPAM\]' .
How can I pass this list to the mv command and move the files somewhere else?
greplinuxscriptingshell
I'm using grep to generate a list of files I need to move:
grep -L -r 'Subject: \[SPAM\]' .
How can I pass this list to the mv command and move the files somewhere else?
Best Solution
If you want to find and move files that do not match your pattern (move files that don't contain
'Subject \[SPAM\]'
in this example) use:The -Z means output with zeros (\0) after the filenames (so spaces are not used as delimeters).
means interpret \0 to be delimiters.
The -L means find files that do not match the pattern. Replace
-L
with-l
if you want to move files that match your pattern.Then
means replace
{}
with the filenames, so you getmv filenames DIR
.