我不是Linux用户,所以bash和shell对我来说是新的。我需要一个代码,为所有文件扩展名".fal“运行两个脚本,该文件扩展名位于我运行代码的文件夹中(最好是子文件夹)。
例如:
dos2unixfortxtandfal """""""that code runs for all files in the folder already
and
for all ".fal" files in this folder,
Do
eine_fal_macher (here the .fal files 1 by one) Versuch.txt
Done最后,我想在终端中执行以下操作: frdc09927:\Frdc09927\z183464\DOE_Wellen\21a>script.bash -> Enter frdc09927:\Frdc09927\z183464\DOE_Wellen\21b>script.bash -> Enter frdc09927:\Frdc09927\z183464\DOE_Wellen\21c>script.bash --> Enter
发布于 2013-05-16 06:49:37
find . -name \*.fal -exec eine_fal_macher {} Versuch.txt \;这将对当前目录及其子目录中的所有*.fal文件运行。使用-maxdepth 1作为第一个选项,将其限制在当前目录下,或者提供一个与.不同的工作目录,以便在其他地方搜索find。{}被替换为“查找”文件名,自动授予文件名中的空格之类的内容。
现在我可以开始解释find了,但是您应该更愿意看看man find。这个工具非常强大,可以减少相当复杂的问题(比如文件的年代,文件的所有者等等)。一条单线船。
发布于 2013-05-16 06:49:26
试着做这样的事情:
for i in `ls *.fal`; do command1 $i && command2 $i; done只有在command2不返回错误代码的情况下,才对特定文件执行command1。
发布于 2013-05-16 06:51:19
我不确定我是否完全理解这个要求,但下面是(试图遵循您的伪代码):
for FILE in `find . -name "*.fal"`
do
eine_fal_macher "${FILE}" Versuch.txt
donehttps://stackoverflow.com/questions/16580661
复制相似问题