Как перечислить файлы резервных копий, пропускающие соответствующие реальные файлы?

Системная консоль - то, где ядро FreeBSD производит свои сообщения; ttyv0.

Строка текста, который Вы заключаете в кавычки, говорит, что при использовании системной консоли для выполнения команд затем вход и вывод каких-либо команд, Вы работаете, будет вкраплен системными сообщениями, мешающими и понять системные сообщения и понять любой вывод Ваши типы команды. Таким образом, то, что рекомендует абзац, - то, что Вы переключаетесь на Виртуальную консоль (Alt+F2, Alt+F3) и журнал там, когда Вы хотите выполнить некоторые команды.

Думайте о нем как попытка использовать ту же клавиатуру и монитор в то же самое время как кто-то еще; лучше, чтобы просто пойти и использовать тот, который никто больше не использует.

2
11.03.2014, 03:14
3 ответа
[114005] Альтернативный метод использования find. Кэшируйте оба списка файлов (удаляя "~") и различайте два анонимных именованных канала, по которым хранится каждый набор.

1
27.01.2020, 21:52
[112442]Просто найдите все файлы с тильдой, удалите тильду и ищите "original":

Объяснение:

найдите ~/ -имя '*~' -print0[113149] : найдите все файлы в [113150]$HOME[113151], которые заканчиваются тильдой, и распечатайте их с нулевым ([113152]\0[113153]) символом. Последнее необходимо для работы со странными именами файлов, содержащими новые строки и т.д.

а IFS= читать -r -d файл $'\0';[113155] : читать каждый файл, найденный с помощью [113156]find[113157] в $file`.

IFS=[113177] : повороты автоматического разбиения bash на пробелы

-r[113179] : обращаемся с обратными слешами буквально (а не как с экранирующими символами)

-d $'\0'[113181] : устанавливает разделитель входных полей в нулевой символ.

"${file%\~}"[113079] : удаляет тильду, см. [113080] здесь[113081][112875]. [112876][113082][ -e "${file%\~}" ] || echo 'cp '$file' '${file%\~}"[113083] : эхо будет запущено только в том случае, если имя файла (sans tilde) не существует. Чтобы скопировать файлы, просто удалите [113084]echo[113085].

4
27.01.2020, 21:52
[114206]В zsh можно использовать [11466]глобусный классификатор[114667] для фильтрации совпадений. Модификатор [114668]e[114669] позволяет указать произвольный код; проще при разборе написать функцию и вызвать ее с помощью модификатора [114670]+[114671].

Если zsh недоступен, можно использовать find.

  1. или, быстрее:

2
27.01.2020, 21:52

Теги

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