1

我正在编写一个非常小的 csh 脚本,它使用 foreach 循环读取文件列表,通过一个名为“rdseed”的程序运行文件,将它们转换为另一种文件类型,然后输出新文件。

我对编程非常缺乏经验,但到目前为止我的脚本运行良好,但我需要将文件输出到它们所在的目录中。

更具体地说,我在 /home/Jesse/seajadedata/LandStations/Test/20100902/ 中有一个文件,但是在 Test 目录中还有其他几个子文件夹。我正在从“/Jesse”目录运行我的 csh 脚本,所有新的输出文件随后都放置在“/Jesse”目录中,这使所有文件都变得杂乱无章。程序上有一个选项“rdseed”允许指定输出目录,所以我想做的是编写程序,以便我的文件列表与它们所在的目录列表相关联,但我不确定该怎么做。

这是我的脚本:

#!/bin/csh

set startdir=/home/Jesse/seajadedata/LandStations/Test
foreach file(`find $startdir -type f -name "*.*.S.*"`)
rdseed -d -q $outputdir -f $file
end

如您所见,我在需要指定输出目录的地方编写了 $outputdir。我很感激任何帮助!

4

1 回答 1

0

我想我应该把它写成答案,呵呵。尝试:

rdseed -d -q `dirname $file` -f `basename $file`
于 2013-06-13T01:59:45.340 回答