Сравните два файла и распечатайте результаты к новому текстовому файлу

Я хочу сравнить список пакетов в компьютере с авторизованным списком, который я имею. Как я сделал бы это? Следующее работало бы?

cd /home
touch authorizedlist.txt
(list contents) >> authorizedllist.txt
touch currentlist.txt
dpkg -l | cut -d ' ' -f3 | less >> currentlist.txt
touch difflist.txt
diff authorizedlist.txt currentlist.txt >> difflist.txt

Существует ли способ и создать новый текстовый файл и добавить содержание к нему в одной команде вместо того, чтобы делать касание, затем вставляющее текст? Кроме того, существует ли способ только распечатать то, что является ненужным от currentlist и не, что отсутствует в нем?

0
задан 21 January 2018 в 10:24

1 ответ

Да.

  • touch устанавливает метку времени модификации данного файла к "теперь". Если данный файл еще не существует, он создается. Это - распространенный способ создать пустые файлы.

  • >> перенаправление добавляет вывод в данный файл. Подобный touch это создает файл, если это еще не существует. Но имейте в виду, это добавляет данные в существующий файл.

  • > перенаправление перезаписывает данный файл с выводом предыдущей команды. Если файл еще не существует, он создается. Если это уже существует, это становится усеченным (который является: очищенный или освобожденный), и затем вывод записан в него.

  • less так называемый пейджер. Это: это предназначено для интерактивного использования, таким образом, можно просмотреть большие файлы и использовать пространство и b (вне других) для движения вперед и назад в выводе команды или файле. При перенаправлении вывода команды в файл так или иначе Вы можете (и если) опускают less звонить.

Соедините:

cd /home
(list contents) > authorizedlist.txt
dpkg -l | cut -d ' ' -f3 > currentlist.txt
diff authorizedlist.txt currentlist.txt > difflist.txt
2
ответ дан 31 October 2019 в 03:59

Другие вопросы по тегам:

Похожие вопросы: