截断文件夹中所有文件的大小(二进制文件和文本文件)

时间:2010-09-23 16:23:12

标签: bash shell

我正在寻找一种方法来递归截断几个文件夹中的所有文件。我需要这个,因为我正在开发一个安装程序,我想保留安装程序中提供的所有文件,但我想截断所有文件,以便我可以更快地构建我的安装程序包以进行测试。

要执行此操作的任何批处理脚本或工具?这适用于Windows系统,我使用cygwin。

2 个答案:

答案 0 :(得分:3)

小心这个

find * | xargs tee

答案 1 :(得分:0)

我建议你制作一个简单的脚本来制作文件结构的副本。 两个选项:仅创建空文件,或复制原始文件的前n个块。 见男人触摸和男人dd

dirIn="xxxxx" #your original directory
dirOut="yyyy" #the fake data dir used to test the packaging code

find $dir -name "*" | while read line
  do
       fname=${line##*/}
       dirName=${line%/*}
       # create directory in the target test dir
       mkdir -p ${dirOut}/$dirName
       # first option: create an empty file (you can also set permissions and times, see man)
       touch ${dirOut}/$dirName/$fname
       # other option: create a file by copying only 1 block from the input
       dd if=$line of=${dirOut}/$dirName/$fname count=1 
  done