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:
grep -L -Z -r 'Subject: [SPAM]' . | xargs -0 -I{} mv {} DIR
The -Z means output with zeros () after the filenames (so spaces are not used as delimeters).
xargs -0
means interpret 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
-I{} mv {} DIR
means replace {}
with the filenames, so you get mv filenames DIR
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…