所以我在做我的工作,我需要列出文件夹中的某些特定文件。 我键入 ls -lrt *ABCD*201604*
并且它返回 *ABCD*201604* not found
。Unix命令ls -lrt给出意想不到的结果
然后,看看这些文件是否真的存在或不存在我做了ls -lrt
,发现有这样的文件。
因此,接下来我从列出的文件中复制了ABCD
和201604
,同时输入命令ls -lrt *ABCD*201604*
并且工作正常!
我比较了两个命令,看看我是否犯了错误,但发现两者完全相同。对此类行为的任何解释?
一个我写道:
$ ls -lrt *RFPTDW*20160425*
*RFPTDW*20160425* not found
其中一个我复制:
$ ls -lrt *RFPTDW*20160425*
RFPTDW107_01_01_20160425_1526.txt
RFPTDW059_01_01_20160425_1527.txt
在第二输出I省略其他细节,但是文件名。
'* abcd * 201604 *'匹配'abcd'后跟'201604'的文件。它不匹配ACROSS文件名称。只有一个文件具有两个字符串模式,依次排列。例如'201604abcd.txt'不匹配,也不会'abcd.txt'或'201604.txt',但'abcdfoobar201604bazqux.txt'将 –
复制并粘贴终端上的确切命令和输出,以便我们看到。这可能是一些微妙的东西在你的写作中丢失。(我注意到你说'ls -lrt * ABCD * 201604 *'打印了'* ABCD * 20160425 * not found'这是不正确的,因为多了'25'。最好避免重新输入以避免细微的差异这个。) –
@JohnKugelman,对不起。这只是为了说明。我将添加确切的命令和输出。 –