On 2017-01-03 12:13, Richard Owlett wrote: > I wish to duplicate a partition's directory structure without any of the > existing file contents. The immediate application is a heavily customized > version of an installation DVD. There are two underlying goals. I wish to > reuse > some existing utilities which expect to find data in a particular branch of > the > directory tree. The second is very similar in that a person familiar with a > structure would assume that certain types of information will be in a > particular > sub-directory. > > Also this will be an educational experience as I expect the answer will be > elegant in its simplicity and point me towards chasms in my understanding of > Linux. > > Thank you.
In cases where I can't use rsync I use this function in bash: #Make directories based on the contents of a file (one dir per line) function mkdir_from_file { #Verify first argument (source file) if [ -z "$1" ]; then echo "[ERROR] No file given!" return 1 fi if [ ! -f "$1" ]; then echo "[ERROR] '$1' is not a file or does not exist!" return 1 fi #Read a line from the given file and make a directory using that line as a #path. Each line is used "as is". No validity checking is done. while read -r LINE; do #Skip lines beginning with a hash [[ "$LINE" = "\#*" ]] && continue #Strip trailing comments and spaces LINE="${LINE%%#*}" LINE="${LINE%% *}" #Skip if no path remains [[ "$LINE" == "" ]] && continue #Make a dir using the line as a path mkdir -p "$LINE" done < "$1" } You can easily build the input file with find -type d Sometimes I need to add a new directory structure to systems. In those cases I just write the wanted dirs to a file and run this script. Maybe you can adjust it to your needs. HTH Grx HdV