自从我使用 csh 格式以来已经有一段时间了,我在一些事情上遇到了一些麻烦。在 Matlab 中执行起来似乎要容易得多,但是由于我试图与之交互的程序,我需要在终端上执行此操作。
所以这就是我想要做的:我有一个结构如下的文件 del.txt
1
2
3
4
等等。所以每个值都在它自己的行中,并且所有数据都有一列。我的目录中有很多其他文件。我想将值 1(在本例中为 1)与文件 1 匹配,将值 2 与文件 2 匹配,依此类推。所以这就是我所做的......
代码:
!/bin/csh
为一个 ( cat del.txt
)
foreach sta( ls *.HHZ
)
echo a is $a
echo $sta
cat <<END>>macro.m
r$a
r$sta
结尾
sac macro.m
rm macro.m
结尾
结尾
然而,我实现的是它遍历 del.txt 和每个文件中的所有值,然后移动到我目录中的下一个文件并遍历所有值。我无法弄清楚这应该采用的格式以匹配正确的值。在我可以让它们匹配之前,我在脚本中没有做太多事情。请帮助有人可以告诉我我做错了什么吗?我读到 foreach 命令将执行每个文件上的所有命令..但无法找到解决此问题的方法。我想要它做的是从 del.txt 中获取值 1 并将其与目录中的文件 1(sta)匹配完成循环,然后从 del.txt 中获取值 2 并将其与目录中的文件 2 匹配(站)。我从来没有做的不仅仅是在一个文件子集上使用 csh 进行简单的迭代,而且我不确定如何将这些值相互引用。任何帮助将不胜感激。我还没有找到一种简单的方法来做到这一点而不把所有的东西都写出来。我查看了“for”和“while”命令..如果有一种简单的方法可以做到这一点,我没有看到它。
干杯,K