Linux 在unix中如何在basename命令中使用变量值的精确匹配
我有多个目录,名称如下:Linux 在unix中如何在basename命令中使用变量值的精确匹配,linux,unix,command,special-characters,Linux,Unix,Command,Special Characters,我有多个目录,名称如下: R.201.20.STUDENT_AUS_ESP.2014 R.120.20.STUDENT.US.2013 R.111.21.STUDENT.IND.2014 R.111.21.STUDENT_PAK_ESP.2014 我需要知道目录的确切名称 我在变量中有国家代码的名称。示例 ctry=美国 我正在使用下面的命令获取目录名 basename /Users/myname/Desktop/R*STUDENT*$ctry* 但不是给出“R.120.20.STUDENT
R.201.20.STUDENT_AUS_ESP.2014
R.120.20.STUDENT.US.2013
R.111.21.STUDENT.IND.2014
R.111.21.STUDENT_PAK_ESP.2014
我需要知道目录的确切名称
我在变量中有国家代码的名称。示例
ctry=美国
我正在使用下面的命令获取目录名
basename /Users/myname/Desktop/R*STUDENT*$ctry*
但不是给出“R.120.20.STUDENT.US.2013”的值,而是打印“R.201.20.STUDENT\u AUS\u ESP.2014”
我试着像这样使用它
basename/Users/myname/Desktop/RSTUDENT[.]$ctry*
但是上面的命令没有给出任何结果
请帮助我如何获得上述值
我可以使用3次grep命令来完成,但看起来不太好您使用的是什么shell?你做这件事的方式很好用。我用的是bashshell