如何将文件名的父目录普遍附加到文件名本身,例如
/home/username/Mirrors/earth.com/tree/apples/filename2.html
/home/username/Mirrors/earth.com/grass/flower/leave/filename1.html
shoud后来是这样命名的文件:
earth.com/tree/apples/filename2.html
earth.com/earth/grass/flower/leave/filename1.html
理想情况下,所有位于一个文件夹 . 这可以用bash脚本和sed完成吗?
为什么我这样做:我用httrack镜像一个巨大的网站,httrack在其相对目录结构中保存一个文件,我无法让httrack将文件保存为完整的URL .
4 回答
那么你还没有定义你想要追加多少个父目录 . 将其作为运行时参数,您可以使用以下awk命令:
OUTPUT
由于您使用的是固定字段,因此可以使用大量工具 .
你的意思是
?
好吧,你可以用
sed
来做,但httrack
是有能力的,例如:根据文档:
-N100
站点结构,没有www.domain.xxx/ .还有一点:
Details: Option N
N0
网站结构(默认)N1
网页上的HTML /,网页/图片中的图片/其他文件/N2
网页/ HTML中的HTML,网页/图像中的图像/其他内容N3
网页中的HTML /,图片/其他网页/N4
web /中的HTML,web / xxx中的图像/其他,其中xxx是文件扩展名(例如,所有gif将被放置到web / gif上)N5
web / xxx中的图像/其他和web / HTML中的HTMLN99
web /中的所有文件,随机名称(小工具!)N100
网站结构,没有www.domain.xxx/N101
与N1相同,表示"web"被网站名称取代N102
与N2相同,表示"web"被网站名称取代N103
与N3相同,表示_1085408被网站名称取代N104
与N4相同,表示_1085410被网站名称取代N105
与N5相同,表示"web"被网站名称取代N199
与N99相同,表示_1085414被网站名称取代N1001
与N1相同,表示没有"web"目录N1002
与N2相同,表示没有"web"目录N1003
与N3相同,表示没有"web"目录(为g选项设置选项)N1004
与N4相同,表示没有"web"目录N1005
与N5相同,表示没有"web"目录N1099
与N99相同,表示没有"web"目录