我需要访问我的shell脚本中的两个文件。唯一的问题是,我不确定文件名是什么,因为它是系统生成的。文件名的一部分总是不变的,但其余部分是系统生成的,因此可能会有所不同。我不知道如何访问这些文件?检索bash/shell编程的文件名
示例文件名
1型
MyFile1.yyyy-mm-dd_xx:yy:zz.log
在这种情况下,我知道MyFile1部分是所有的文件不变,其他部分变化的基础上的日期和时间。我可以使用date +%Y-%m-%d
直到MyFile1.yyyy-mm-dd_
,但我不知道如何选择正确的文件。请注意每天只有一个这样的文件。在unix下面的命令给我正确的文件。
unix> ls MyFile1.yyyy-mm-dd*
2型
MyFile2.yyyymmddxxyyxx.RandomText.SomeNumber.txt
在这个文件中,你可以看到Myfile2部分是共同的,我可以用户Date +%Y%m%d
得到直至(当前日期)MyFile2.yyyymmdd
,又不非常清楚如何继续从那里。unix下面的命令给了我正确的文件。我还需要在文件2的dd列有以前的日期。
unix> ls MyFile2.yyyymmdd*
在我的shell脚本
#!/bin/ksh
timeA=$(date +%Y-%m-%d)
timeB=$(date +%Y%m)
sysD=$(date +%d)
sysD=$((sysD-1))
filename1=($Home/folder/MyFile1.$timeA*)
filename2=($Home/folder/MyFile2.$timeB$sysD*)
只是不知道如何让RHS这两个文件基本上是寻找以下行。
运行上面的脚本后的结果如下
Script.ksh[8]: syntax error at line 8 : `(' unexpected
@StevenPenny我simplu找'文件= MyFile1.yyyy毫米dd_xx:YY:zz.log'在shell脚本。如何获得RHS是我的问题。让我知道,如果你正在寻找任何进一步的细节 – misguided