Cronjob для очистки кеша: Как очистить кеш памяти в Linux
На самом деле у меня похожие проблемы. У меня есть группа пользователей, которые запускают свои собственные сценарии, и время от времени их сценарии потребляют всю доступную память и отключают сервер redhat. Причина массового потребления оперативной памяти заключалась в том, что их сценарии могли работать в течение нескольких дней, просто ожидая события, тем самым забирая ресурсы, когда на самом деле они их не используют. Я просто принудительно очистил кеш с помощью cronjob, и с тех пор у меня не было проблем.
Простой и ленивый.
Используйте awk seen
, если вы не хотите сортировать файл:
$ awk '!seen[$0]++' a.txt b.txt
foo
bar
foobar
line
by
Исходя из желаемого результата, я предполагаю, что вы просто хотите, чтобы оба файла были объединены только с уникальными строками.
В этом случае cat
, sort
и uniq
могут сделать это за вас:
cat a.txt b.txt | sort | uniq > c.txt
cat
открывает содержимое обоих файлов
sort
сортирует вывод в алфавитном порядке
uniq
перечисляет только уникальные строки
> c.txt
помещает весь вывод в новый файлc.txt
$ sort -u a.txt b.txt
bar
by
foo
foobar
line
Это позволит отсортировать (объединенное )содержимое двух файлов, удалив повторяющиеся строки. Минус в том, что если строка дублируется в одном из файлов, это тоже будет удалено.
Чтобы записать результат в c.txt
, используйте
sort -u -o c.txt a.txt b.txt
или стандартное перенаправление
sort -u a.txt b.txt >c.txt