Почему ls --ignore
не игнорируя шаблон?
Глядя на пример ниже:
mkdir books
cd books
touch books_abby.csv
touch books_karen.csv
touch books_david.csv
touch books_tom.csv
Это создает четыре файла:
$ ls
books_abby.csv books_david.csv books_karen.csv books_tom.csv
Если, однако, вы хотите игнорировать все имена файлов, содержащие «tom», и перечислить их, books_tom.csv
все еще возвращается:
$ ls *.csv --ignore="*tom*"
books_abby.csv books_david.csv books_karen.csv books_tom.csv
Ожидаемый результат - пропускать файлы, содержащие слово «tom»:
$ ls *.csv --ignore="*tom*"
books_abby.csv books_david.csv books_karen.csv
В --ignore
вариант ls
вроде все в порядке и работает, но проблема возникает, когда вы смешиваете его с *.csv
В то же самое ls
команда.
Таким образом, вы можете получить тот же результат, используя (поскольку все ваши файлы заканчиваются на .csv):
$ ls *.csv --ignore="*tom*"
books_abby.csv books_david.csv books_karen.csv
Если у вас есть другие расширения файлов, которые вы не хотите отображать в выводе, вы можете попробовать:
$ ls !(*tom*).csv
books_abby.csv books_david.csv books_karen.csv