Sed 如何递归创建文件夹

Sed 如何递归创建文件夹,sed,directory,Sed,Directory,有两个文件路径 现在我在eee文件夹中 /Volumes/aaa/bbb/ccc/ddd/eee/text.txt 1) 我要把mv text.txt文件转到下面的路径 /Volumes/aaa/bbb/ccc/ddd_1/eee/text.txt or just create folder structure only /Volumes/aaa/bbb/ccc/ddd_1/eee/ 以递归方式使用以下命令,但并非所有命令都有效 有一些与此相关的解决方案。 但这不管用 mkdir -p

有两个文件路径

现在我在eee文件夹中

/Volumes/aaa/bbb/ccc/ddd/eee/text.txt
1) 我要把mv text.txt文件转到下面的路径

/Volumes/aaa/bbb/ccc/ddd_1/eee/text.txt  
or just create folder structure only
/Volumes/aaa/bbb/ccc/ddd_1/eee/
以递归方式使用以下命令,但并非所有命令都有效

有一些与此相关的解决方案。 但这不管用

mkdir -p  $(`pwd | sed 's/ddd/ddd_l/'`)
or 
rsync -av -f"+ */" -f"- *" "$pwd" "$(`pwd | sed 's/ddd/ddd_l/'`)"
or 
mv test.MTS `pwd | sed 's/ddd/ddd_l/'`
or 
cp -R test.MTS `pwd | sed 's/ddd/ddd_l/'`
谁能做到这一点

试试这个:

new_file="/Volumes/aaa/bbb/ccc/ddd/eee/text.txt"
mkdir -p "$(dirname "$new_file")"
touch "$new_file"

你的问题不清楚。为什么你不能只做
mv text.txt/Volumes/aaa/bbb/ccc/ddd_1/eee/text.txt
?因为没有“eee”目录,我只想将文件夹路径替换为ddd_1并递归创建文件夹。但这是不允许的。从逻辑上讲,我不知道为什么不会创建所有子文件夹?通过下面的命令cp-R test.MTS
pwd|sed's/test_source/test_target/'
如果这样做有效,那么文件总是可以通过镜像的另一个结构化文件夹递归地移动或复制到某处。UNIX中没有文件夹-这是一个WIndows术语,等效的UNIX术语是“目录”。因此,您要做的是MaKe和DIRectory——这个工具的名字很明显是
mkdir
,递归生成目录的参数是
-p
。因此,您需要做的是
mkdir-p/Volumes/aaa/bbb/ccc/ddd_1/eee&&mv text.txt/Volumes/aaa/bbb/ccc/ddd_1/eee
。如果这还不是你所需要的,那么更新你的问题以澄清你的需求。