开始学习一些shell脚本。 我有一个文件运行的perl脚本。 我怎么会写一个shell脚本,它运行perl脚本上的所有文件一堆次关键字“文件名”?
因此,在英语,
for /filename/ in filenames
perl myscript.pl completefilename
谢谢。
开始学习一些shell脚本。 我有一个文件运行的perl脚本。 我怎么会写一个shell脚本,它运行perl脚本上的所有文件一堆次关键字“文件名”?
因此,在英语,
for /filename/ in filenames
perl myscript.pl completefilename
谢谢。
find . -name "filename*" -exec perl myscript.pl '{}' \;
for i in $(\ls -d filenames)
do
perl myscript.pl $i
done
在“ls”的命令的前反斜杠是暂时禁用任何别名。
HTH
find . -path "\*filename\*" -exec perl myscript.pl {} \;
编辑:逃星,不想这里的标记
如果你在你的文件名有空格,用旧的备用
find . -maxdepth 1 -print0 | xargs -0 perl myscript.pl
在bash:
files=`ls -1 *`
for $file in $files;
do
perl myscript.pl $file;
done
一个内胆:
$ for file in filename1 filename2 filename3; do perl myscript $file; done
取而代之的是空间分隔的文件名,你还可以使用通配符的列表,例如:
$ for file in *.txt *.csv; do perl myscript $file; done
FILES = “ 关键字 ”
在 “$ FILES” 做perl的myscript.pl $ F F完成
从http://www.cyberciti.biz/faq/bash-loop-over-file/
我个人使用zsh的外壳,它给你一个很好的方式对一组子目录的递归运行命令。 它还允许您更改文件,用蹩脚的创造.wav文件MP3文件时,这是handly的后缀:
对于i中** / * WAV。 跛$ I $ I:r.mp3
您还可以通过管道将一个命令的输出到另一个,这是我的东西我经常使用的,当我下载了一些BitTorrent的文件,并希望看到每个下载已完成百分比:
对于i中** / * TXT。 grep的百分之-H $ I | 尾-1