文件名以*开头

我有脚本,它必须通过文件从他们得到特定的线路。 文件名从variables获得,例如$ FILENAME,我们有这样的情况:

cat / path / $ FILENAME

但是当FILENAME==*.some.file出现问题时。 文件*.some.file真的存在,但猫列出的所有文件的path*.some.filefirst.some.file second.some.file *.some.file fourth.some.file等)单引号防止包含variables。

任何想法如何cat (或grep )只有一个*.some.file

使用双引号。 这将扩大variables,但不是任何embedded式通配符。

 cat /path/"$FILENAME" 
 cat "/path/to/$FILENAME" 

不会将*扩展为glob。

cat \*.some.file将转义*所以它被当作文字字符处理。

另外cat '*.some.file'也会有类似的效果。 在这两种情况下,它都会阻止bash将*扩展为匹配文件的列表。