我发现了许多脚本,它们将以递归方式平整目录中子文件夹和子文件夹的子文件夹的所有内容。但我只想平坦一层,并保持子文件夹完好无损。我怎么会这样做可能是一个bash脚本?如何平铺终端命令中的单个目录级别?
0
A
回答
2
mv */* .
如果你不关心隐藏目录,它是那样简单。
+0
将'。[!。] *'和'..?*'球体添加到该文件中,并且您可以获得所有内容。 –
0
这个怎么样?
array=($(ls))
for i in "${array[@]}"
do
echo $i
if [ -d $i ]; then
cd $i
ls
cd ..
fi
done
让您获得每个第一级子目录的ls输出以及顶级的所有内容。
+2
[为什么你不应该解析ls(1)]的输出(http://mywiki.wooledge.org/ParsingLs)。 'array =(*)'会更好。 –
2
mkdir -p dir0/dir1/dirA/dirX
mkdir -p dir0/dir2/dirB/dirY
mkdir -p dir0/dir3/dirC/dirZ
让我们来看看它的现在:
tree dir0
返回:
dir0/
├── dir1
│ └── dirA
│ └── dirX
├── dir2
│ └── dirB
│ └── dirY
└── dir3
└── dirC
└── dirZ
现在让我们运行
find dir0 -mindepth 2 -maxdepth 2 -exec mv -i '{}' dir0 ';'
让我们来看看DIR0怎么现在是:
tree dir0
结果:
dir0
├── dir1
├── dir2
├── dir3
├── dirA
│ └── dirX
├── dirB
│ └── dirY
└── dirC
└── dirZ
PS:你也可以运行像这样:
mv dir0/*/* dir0
相关问题
- 1. 记录终端命令* nix
- 2. 你如何通过命令调用终端并cd到目录?
- 3. 终端命令
- 4. AT命令 - Python和超级终端
- 5. OSX终端命令移动目录中的所有文件
- 6. 如何在终端中退出命令
- 7. 从主目录中删除git(使用终端/命令行)
- 8. Linux和终端:如何在终端预约中运行命令?
- 9. 使用终端的单线telnet命令
- 10. FileMaker终端命令
- 11. Telnet /终端命令
- 12. Mapbox:每隔一个缩放级别的平铺源
- 13. java如何执行终端命令?
- 14. 如何使用终端命令
- 15. 如何打印Linux命令在终端
- 16. OS X的终端命令
- 17. 终端将命令应用于所有子目录
- 18. -in命令在终端复杂命令
- 19. 如何从另一个Window中的MainWindow级别访问命令?
- 20. LibTIFF.NET将平铺的OJPEG转换为单个平铺图像
- 21. Linux终端SCREEN命令
- 22. 禁用终端命令
- 23. “设置 - ”命令,在终端
- 24. 终端重定向命令
- 25. Mac终端“重置”命令
- 26. 执行终端命令
- 27. 命令行串行终端
- 28. 执行终端命令
- 29. ubuntu终端中的错误命令
- 30. windows中的命令行终端
请定义你认为“扁平”意思是 – Alnitak