我有两个文件夹,里面装满了培训和相应的测试文件,我想用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