我没有成功过滤带有括号的ls文件(在bash上)
$ ls -1
a_échéancier(1).pdf
a_échéancier(2).pdf
a_échéancier(3).pdf
a_échéancier(4).pdf
a_échéancier(5).pdf
a_échéancier(6).pdf
a_échéancier.pdf
$
尝试一下:
$ ls "*).pdf"
ls: cannot access '*).pdf': No such file or directory
$
$ ls '*\).pdf'
ls: cannot access '*\).pdf': No such file or directory
$
答案 0 :(得分:1)
你正在逃避太多的角色;唯一需要转义的字符是)
:
ls *\).pdf
但除了*
之外的所有其他内容都可以转义:
ls *").pdf"
shell本身就是ls
甚至运行之前扩展glob的东西; ls
只获取明确的文件名列表。引用*
使ls
尝试列出名为*).pdf
的单个文件,而不是当前目录中与该模式匹配的每个文件。
答案 1 :(得分:-2)
SELECT Inst, Term, Year, FreezeDate, UploadDate, RecordCount, ErrorCount, FileName, System,
FROM table
WHERE UploadDate=(
SELECT MAX(UploadDate) FROM table WHERE System = ('a') and Year = ('2017') and Inst = ('123') and (Term = ('1') or Term = ('4')))
应该做的工作。 ls -1 | grep "*).pdf"
后面有一个文件名,只是试图将其完全匹配。