参考这个问题,我想要一些类似的东西。我的想法是,我执行一个命令,然后它要求输入一个文件名来处理,处理完成后,它会要求输入下一个文件名,依此类推。问题是我有成千上万个文件,所以我无法手动逐个输入它们。但是,我有一个包含所有文件名的 .txt 文件。
所以我想编写一个 bash 脚本来:
- 执行命令
- 当它询问文件名时,它会从 txt 文件中读取第一行
- 程序将处理该文件,然后请求下一个
- bash 给出下一个,依此类推
直到程序请求文件,并且 .txt 文件已经完成,然后我自动终止
答案1
每当有人提到“数千个文件”时,我立即想到xargs
(阅读man xargs
)。假设您的文件名很简单(不包含空格或其他奇怪的字符):
xargs --interactive -n 1 <filenames.txt YourProgram