我有兩個文件夾,裏面裝滿了培訓和相應的測試文件,我想用shell腳本運行配對對方。Shell腳本:截斷字符串
這是我到目前爲止有:
for x in SpanishLS.train/*.train
do
timbl -f $x -t SpanishLS.test/$x.test
done
這應該採取file1(-n).train
在一個目錄下,在其他尋找file1(-n).test
,並運行它們低谷名爲timbl
工具。 它所做的是找一個名爲SpanishLS.train/file1(-n).train.test
的文件,這當然不存在。 我試圖做的,無濟於事,截斷$x
的方式,讓腳本找到正確的文件,但每當我這樣做,$x
被截斷的方式太早,導致腳本甚至找不到.train
文件。
我該如何編碼?
的換人不僅猛砸,但是POSIX SH ,不是嗎? – tripleee 2012-08-12 18:07:07
@tripleee嗯......是的,'##'和'%'(和'#'和'%%')擴展在[POSIX shell]中(http://pubs.opengroup.org/onlinepubs/9699919799 /utilities/V3_chap02.html#tag_18_06_02)。其他地方的評論建議'$ {x //。train/.test}';這不是POSIX擴展。我已經更新了我的答案 - 感謝您指出了這一點。 – 2012-08-12 18:09:53
謝謝!這比我想象的更加優雅! – lhausmann 2012-08-12 18:28:24