【问题标题】:Flatten a java project directory structure prepending the path to the file在文件路径之前展平 java 项目目录结构
【发布时间】:2011-03-02 02:17:48
【问题描述】:

我正在尝试编写一个脚本(最好在 bash 中)来展平一个 java projet 目录结构,该目录结构在文件路径之前。示例:

| src
  | org
    | apache
      | file2.java
    | file1.java

会导致:

| src
  | org|apache|file2.java
  | org|file1.java

脚本应该是递归的,因为目录可能有很多子文件夹。

【问题讨论】:

    标签: bash scripting directory flatten


    【解决方案1】:
    cd src
    for i in $(find . - name '*.java') ; do 
      echo cp \"$i\" $(echo "$i" | tr / _)
    done
    

    如果看起来不错(如果文件名包含空格可能会出错),将结果通过管道传送到sh

    【讨论】:

    • java文件名可以有空格吗?
    • 顺便说一句,当我从 $i 变量中删除第一个回声和引号并运行脚本时,它什么也没做。
    • 如果文件名有空格,find ... | while read -r i 代替 for ... find 将起作用。
    • 我将如何适应您的解决方案?
    猜你喜欢
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多