2017-05-04 23 views
0

我想在一个循环一遍又一遍运行此命令(而不是做手工73次):击:移动同名文件同级目录新的目录结构

mv values-bg/x_strings.xml ~/workspace/myapp/app/res/values-bg/ 

唯一那会随着每次迭代而改变,是values-之后的后缀。它将是af,ar,az,be,bg ....它有时也会看起来像values-es-rES

该目录包含其他文件,我不想移动,所以我不能只复制整个目录结构。我想从每个目录中取出这一个文件。

上下文:我有一个翻译服务,将x_strings.xml文件从英文翻译成几十种语言。现在这些字符串被翻译了,我需要将它们移动到正确的目录中。我很乐意将此自动化。谢谢!

更新:

我落得这样做,基本上工作:

for d in `find . -type d`; do mv "${d#./}"/x_strings.xml ~/workspace/myapp/app/res/"${d#./}"/; done 

回答

0
for d in `find . -type d`; do mv "${d#./}"/x_strings.xml ~/workspace/myapp/app/res/"${d#./}"/; done 

这可以直接在命令行中运行。 find命令查找当前目录中的所有目录,并允许我在for中遍历它们。 "${d#./}"find提供的目录中去掉前导./

这里的一个警告是,这不会将文件移动到不存在的目录中,但这正是我想要的行为。

相关问题