我想运行ls
并排除输出中的某些文件。
当我运行以下命令时,我得到了所有文件,每个文件都在单独的一行中:
$ ls -1
file1
file2
file3
temp
我想以某种方式运行此命令,以便它显示:
$ ls -1 <insert magic here> temp
file1
file2
file3
我想运行ls
并排除输出中的某些文件。
当我运行以下命令时,我得到了所有文件,每个文件都在单独的一行中:
$ ls -1
file1
file2
file3
temp
我想以某种方式运行此命令,以便它显示:
$ ls -1 <insert magic here> temp
file1
file2
file3
-I
:忽略文件名,即不列出指定的文件。要忽略多个文件,请
-I
在每个文件名前添加一个。例如,要通过名称扩展忽略文件,请执行以下操作。
对我来说,如果我使用
-I
一次,它会起作用,但如果我使用两次,它就没有用。例如:这有效:
但:
不起作用并返回
.txt
文件。--ignore
为我做了把戏。这是我需要和工作的:以上将列出我
log
文件夹中的文件,不包括旧备份日志。您还可以使用:
我认为这会产生您正在寻找的输出:
显然,您需要
shopt -s extglob
它才能工作(我启用了它,所以我想在遥远的过去的某个时候我发现它很有用并启用了它)。我猜你也可以
grep
用来过滤输出:使用管道和过滤器提供了更多的灵活性,以及可转移到其他命令/情况的技能,尽管您可能对此特定情况不感兴趣。