Представьте, что у меня есть 100 текстовых файлов в папке X. 30-40 текстовых файлов содержит слово «Cookies».
Я хочу скопировать все эти текстовые файлы в папку Y, в которой есть слово « Cookies [ ! d1] ".
Это быстрый и эффективный способ сделать это с помощью cli?
Что-то вроде этого будет работать:
grep -l 'Cookies' /Path/to/X/*.txt | xargs -I files mv files /Path/to/Y/
grep -l 'Cookies' /Path/to/X/*.txt: будет искать все файлы *.txt, содержащие Cookies, изменить его на * для любого файла. -l означает только распечатать имена файлов. xargs -I files mv files /Path/to/Y/ переместит их на нужный путь. Или даже вместо xargs мы можем использовать цикл:
grep -l 'Cookies' /Path/to/X/*.txt | while read i; do mv "$i" /path/to/x/; done
Что-то вроде этого будет работать:
grep -l 'Cookies' /Path/to/X/*.txt | xargs -I files mv files /Path/to/Y/
grep -l 'Cookies' /Path/to/X/*.txt: будет искать все файлы *.txt, содержащие Cookies, изменить его на * для любого файла. -l означает только распечатать имена файлов. xargs -I files mv files /Path/to/Y/ переместит их на нужный путь. Или даже вместо xargs мы можем использовать цикл:
grep -l 'Cookies' /Path/to/X/*.txt | while read i; do mv "$i" /path/to/x/; done
Что-то вроде этого будет работать:
grep -l 'Cookies' /Path/to/X/*.txt | xargs -I files mv files /Path/to/Y/
grep -l 'Cookies' /Path/to/X/*.txt: будет искать все файлы *.txt, содержащие Cookies, изменить его на * для любого файла. -l означает только распечатать имена файлов. xargs -I files mv files /Path/to/Y/ переместит их на нужный путь. Или даже вместо xargs мы можем использовать цикл:
grep -l 'Cookies' /Path/to/X/*.txt | while read i; do mv "$i" /path/to/x/; done