Распечатайте список имен файлов, кроме тех, которые указаны в текстовом файле

Мой хрустальный шар говорит, что вы загружаете модель, используя либо file://, либо C:/, которые остаются верными сообщению об ошибке, поскольку они не http://

. Таким образом, вы можете установить веб-сервер на локальном компьютере или загрузите модель в другое место и используйте jsonp и измените URL-адрес на http://example.com/path/to/model

-1
задан ultramarine 13 July 2018 в 15:24
поделиться

1 ответ

Вы можете использовать grep:

ls test | grep -xvFf dont_include.txt -
  • -f означает, что список шаблонов берется из файла dont_include.txt в этом случае
  • -F означает, что шаблоны интерпретируются как литеральные строки, а не регулярные выражения, поэтому a.txt не будет соответствовать abtxt
  • -x соответствует только целым строкам, т. е. other_file.txt не будет соответствовать file.txt
  • -v означает, что мы хотим напечатать строки несоответствия
  • - (необязательно), означает, что список, который мы фильтруем, является стандартным intput, т. е. выход ls в этом случае.

Он не работает для файлов с символами новой строки в их именах (но сохранение их в файле по одному на строку уже неверно) ).

1
ответ дан choroba 17 August 2018 в 12:31
поделиться
  • 1
    Отлично. Спасибо за объяснения. Я должен прочитать документацию grep – ultramarine 13 July 2018 в 15:32
  • 2
    Было бы лучше добавить -x (совпадение целых строк) к параметрам grep. Это предотвратит исключение таких файлов, как other_file1.txt. – pjh 13 July 2018 в 19:24
  • 3
    @pjh: Верно, обновлено. Благодарю. – choroba 13 July 2018 в 19:36