Способ 1. Удалите все повторяющиеся строки
cat filename | sort | uniq > outfile
mv outfile filename
Символы |
передают выходные данные команд слева в команды справа в качестве входных данных.
Команда cat
считывает содержимое файла в стандартный вывод (экран или другой файл)
Команда sort
сортирует вывод в алфавитном порядке, что необходимо перед использованием uniq
...
Команда uniq
удаляет соседние повторяющиеся значения
> outfile
записывает вывод последнего шага в файл с именем «outfile».
Команда mv
заменяет исходный файл новым файлом данных outfile.
Этот метод будет разрушительным, потому что он удалит все повторяющиеся строки ЛЮБОГО типа, а не только ту, которую вы хотите удалить.
Способ 2. Удалите все экземпляры определенной строки, а затем снова добавьте один раз
cat filename | sed 's/command\[check_utc\]\=\/company\/nrpe\/libexec\/check_utc.sh//' > outfile
mv outfile filename
Команда sed
позволяет выполнять замену строк для определенных шаблонов строк. формат для такой команды - sed 's/find/replace/'
, чтобы найти первый экземпляр «найти» в каждой строке и заменить его на «заменить». Чтобы он работал с каждым экземпляром в каждой строке, вы добавляете «g» в конец, то есть sed 's/find/replace/g'
Символы \
заставляют sed
буквально интерпретировать специальные символы в строке, которые в противном случае были бы неправильно истолкованы как специальные инструкции.
Приведенная выше команда полностью удалит все экземпляры этой конкретной строки (заменив ее ничем), после чего вам нужно будет отредактировать код и добавить его обратно один раз.
Способ 3. Удалите все экземпляры, а затем автоматически добавьте их в конец файла.
cat filename | sed 's/command\[check_utc\]\=\/company\/nrpe\/libexec\/check_utc.sh//' > outfile
mv outfile filename
echo "command[check_utc]=/company/nrpe/libexec/check_utc.sh" >> filename
Это тот же код, что и выше, но после удаления всех экземпляров строки вы используете echo
для печати строки и используете >>
для добавления текста в конец содержимого файла.
person
CaffeineConnoisseur
schedule
17.04.2013