Bra*_*yer 4 bash shell terminal cp
我有大约1000个文件夹,我想从中提取单个文件以上传到服务器,但我需要保留目录树.
cp */myFile.txt ../newTree
Run Code Online (Sandbox Code Playgroud)
就是我基本上要保存到做,但每个文件的而不是../newTree/myFile.txt
我想这是../newTree/*/myFile.txt
在*
从通配符cp
命令.
我在man文件中找不到这个标志,所以我想我可能还需要另外一个实用工具 cp
使用rsync:
find ./ -name myFile.txt -print0|rsync -0adv --files-from=- ./ ../newTree/
Run Code Online (Sandbox Code Playgroud)
没有rsync:
您可以为在newTree中创建目录的每个文件找到所有文件,并将文件复制到该文件.
for file in */myFile.txt; do
dir=$(dirname "$file")
mkdir -p "../newTree/$dir"
cp "$file" "../newTree/$dir"
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4782 次 |
最近记录: |