bash - How to remove files using grep and rm? -
grep -n magenta *| rm * grep: a.txt: no such file or directory
grep: b: no such file or directory
above command removes files present in directory except ., .. . should remove files contains word "magenta"
also, tried grep magenta * -exec rm '{}' \; no luck. idea?
use xargs:
grep -l --null magenta ./* | xargs -0 rm the purpose of xargs take input on stdin , place on command line of argument.
what options do:
the
-loption tells grep produce filenames without matching text.the
--nulloption tells grep separate filenames nul characters. allows manor of filename handled safely.the
-0option xargs treat input nul-separated.
Comments
Post a Comment