假设我有以下子目录
./a/, ./b/, ./c/, ...
也就是说,在我当前的工作目录中有这些子目录a/,b/和c/,并且在这些子目录中的每一个都是文件。在目录a/中是文件a.in,在目录b/中是文件b.in,依此类推。
我现在想将每个.in文件复制到一个.out文件中,即a.intoa.out和b.into b.out,并且我希望它们驻留在从中复制它们的目录中。所以a.out会在目录中找到a/。
我尝试了各种不同的方法,例如
find ./ -name '*.in'|cp * *.out
这不起作用,因为它认为*.out是一个目录。也试过
ls -d */ | cd; cp *.in *.out
但它会列出子目录,进入每个子目录,但不会让它cp起作用(仍然不起作用)
这
find ./ -name '*.in'
命令工作正常。有没有办法将参数传递给赋值运算符?例如
find ./ -name '*.in'| assign filename=|cp filename filename.out
whereassign filename=给 filename 每个.in文件的值。事实上,如果分配可以摆脱.in文件扩展名会更好,而不是得到a.in.out我们会得到首选a.out
感谢您的时间。