我需要訪問我的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