为什么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
答案1
选项似乎--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