我有一个包含多个组件的文件夹结构:
DbModule("tertiaryDb")
我想找到每个组件文件夹,在其上执行命令,并使用该文件夹名称作为我的src-/
|-components-/
|-componentA
|-componentB
|-componentC
目录中每个输出文件夹的名称。所以它应该像这样:
dist/
当前我正在运行以下命令:
dist-/
|-componentA
|-componentB
|-componentC
但是这给了我BABEL_ENV=cjs find src/components/** -type d -exec babel {} --out-dir dist/{} \;
内的完整文件路径,因此结果如下:
{}
我希望结果是:
src/components/componentA/index.js -> dist/src/components/componentA/index.js
我该如何实现?
预先感谢
答案 0 :(得分:1)
请尝试以下操作:
while read -r -d "" path; do
basename=${path##*/} # will remove "src/components/" portion
BABEL_ENV=cjs babel "$path" --out-dir "dist/$basename"
done < <(find src/components/* -type d -print0)
它将find
的输出传输到while
循环,在该循环中修改了路径名以满足您的要求。