Sponsored Content
Top Forums Shell Programming and Scripting Create a flat file and directory structure Post 302771506 by Chubler_XL on Wednesday 20th of February 2013 11:49:47 PM
Old 02-21-2013
This comes close, only issue is unix sorts alphabetically so order is
dir1
dir11
dir12
dir2

Code:
find ./files \( -type d -o -name "*.abc" -o -name "*.txt" \) -print | awk '
function ppath(p, f, c) {
   s=index(f, "/");
   if (!p) return ppath(substr(f,1,s-1), substr(f,s+1), "");
   if (!s) pf=p"/"f;
   else pf=p"/"substr(f,1,s-1);
   if (!(pf in found)) {
      found[p]++;
      found[pf]=0
   }
   if (!s) return (c?c".":"") found[p] " " f
   return ppath(pf, substr(f, s+1), (c?c".":"") found[p])
}
{ print ppath("", $0, "") }


output:

Code:
1 files
1.1 Share
1.1.1 dir1
1.1.2 dir10
1.1.3 dir11
1.1.4 dir2
1.1.5 dir3
1.1.6 dir4
1.1.7 dir5
1.1.8 dir6
1.1.9 dir7
1.1.10 dir8
1.1.10.1 00001
1.1.10.1.1 IMG
1.1.10.1.1.1 IMG1
1.1.10.1.1.2 IMG2
1.1.10.2 IMG
1.1.10.2.1 IMG001
1.1.10.2.2 IMG002
1.1.10.2.2.1 1234.abc
1.1.10.2.2.2 abcd.txt
1.1.10.3 Sample
1.1.10.3.1 00002
1.1.10.3.1.1 IMAG
1.1.10.3.1.1.1 IMAG1
1.1.10.3.1.1.2 IMAG2
1.1.10.3.2 hello
1.1.10.3.2.1 prod
1.1.10.3.2.1.1 NAD
1.1.10.3.2.1.1.1 NAT
1.1.10.3.2.1.2 TEXT
1.1.10.3.2.1.2.1 TEXTILE1
1.1.11 dir9

---------- Post updated at 02:49 PM ---------- Previous update was at 01:49 PM ----------

Another solution without recursion:

Code:
find ./files \( -type d -o -name "*.abc" -o -name "*.txt" \) -print | awk '{
  c=split($0,v,"/");
  f=v[1];
  for(i=2;i<=c;i++)  {
      if(!(f in P)) P[f]=0;
      if(!(f"/"v[i] in P)) P[f]++;
      P[f"/"v[i]];
      printf "%s",P[f] (i<c?".":"")
      f=f"/"v[i]
  }
  print " " v[i-1];
}'


Last edited by Chubler_XL; 02-21-2013 at 12:50 AM.. Reason: Optimised
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

MV files from one directory structure(multiple level) to other directory structure

Hi, I am trying to write a script that will move all the files from source directory structure(multiple levels might exist) to destination directory structure. If a sub folder is source doesnot exist in destination then I have to skip and goto next level. I also need to delete the files in... (4 Replies)
Discussion started by: srmadab
4 Replies

2. Shell Programming and Scripting

Help to Create this file format structure

This data comes form the table and exported into the file in this format File1 Format weboffercode1,sourcecode1,1,1,1,1,1,1 weboffercode1,sourcecode2,1,1,1,1,1,1 weboffercode1,sourcecode1,1,1,1,1,1,1 weboffercode1,sourcecode3,1,1,1,1,1,1 weboffercode1,sourcecode3,1,1,1,1,1,1 ... (4 Replies)
Discussion started by: enigma_83
4 Replies

3. Programming

compare XML/flat file with UNIX file system structure

Before i start doing something, I wanted to know whether the approach to compare XML file with UNIX file system structure. I have a pre-configured file(contains a list of paths to executables) and i need to check against the UNIX directory structure. what are the various approches should i use ? I... (6 Replies)
Discussion started by: shafi2all
6 Replies

4. Shell Programming and Scripting

How to create a directory structure with getting input from a file.

Hi How to create a directory structure with getting input from a file. I have file in that following lines are written. ./activemq-4.1.2/activemq-core-4.1.2.jar ./activemq-4.1.2/backport-util-concurrent-2.1.jar ./camel-1.4.0/apache-camel-1.4.0.jar ./camel-1.4.0/lib/activation-1.1.jar... (12 Replies)
Discussion started by: itsjoy2u
12 Replies

5. UNIX for Dummies Questions & Answers

create tar archive without preserving directory structure?

I am adding some individual files to a tar archive and would like them to be added to the archive without any directory hierarchy, even though the files themselves exist in levels of hierarchy. Unfortunately, tar seems to always preserve the directory hierarchy when it adds the files. Here is... (2 Replies)
Discussion started by: Special_K
2 Replies

6. UNIX for Dummies Questions & Answers

find mv and create directory structure

Hi there, I'm trying to pull all my flacs out of my Music collection. I can do it with following command find b/ -name *.flac -exec mv {} flac/ \; which works great except it moves all the flac files to the flac folder. I want it to recreate the original folder the flacs were found in and mv... (8 Replies)
Discussion started by: fistikuffs
8 Replies

7. Shell Programming and Scripting

How we can create the master file through shell to show the tree structure of the directory?

Can we create the master file that show the whole tree structure of the directory till a particular folder? Database that contains four sub repository Sybase,sql,oracle,mysql and sql and oracle contains two subrepostories Siebel and plsql and each repositories contains three folders... (1 Reply)
Discussion started by: rohit22hamirpur
1 Replies

8. Shell Programming and Scripting

Rename last directory in a file structure

I have to write a script to rename the every last sub-directory in a directory structure if the last sub-directory name doesn't contain "submitted". eg: given directory path:/u01/home/somedir somedir can have many subdirectories and each subdirectory inturn has many subdirectories. somedir... (3 Replies)
Discussion started by: ramse8pc
3 Replies

9. Shell Programming and Scripting

Create Directory structure

Hello ; ) again Now I have my file like this : DIR2/DIR3 DIR2 DIR2/DIR3/DIR4/DIR5 I am looking for help to create a loop that will create the directory structure. I need something like this : If "DIR2" does not exist > Create IF "DIR2" exist already > check if onther "DIR"... (5 Replies)
Discussion started by: Aswex
5 Replies

10. OS X (Apple)

Create a bash array from a flat file of whitespaces only.

Hi guys and gals... MacBook Pro. OSX 10.13.2, default bash terminal. I have a flat file 1920 bytes in size of whitespaces only. I need to put every single whitespace character into a bash array cell. Below are two methods that work, but both are seriously ugly. The first one requires that I... (7 Replies)
Discussion started by: wisecracker
7 Replies
RAIDFILE-CONFIG(8)						    Box Backup							RAIDFILE-CONFIG(8)

NAME
raidfile-config - Configure Box Backup's RAID files SYNOPSIS
raidfile-config config-dir blocksize dir1 [dir2 [dir3]] DESCRIPTION
raidfile-config creates a raidfile.conf file for Box Backup. This file holds information about the directories used to store backups in. Box Backup supports userland RAID, in a restricted RAID5 configuration, where 3 and only 3 'drives' are supported. You can read more about RAID5 (and other RAID-levels) here[1]. Parameters The parameters are as follows: config-dir The directory path where configuration files are located. Usually this is /etc/box. raidfile.conf will be written in this directory. blocksize The block size used for file storage in the system, in bytes. Using a multiple of the file system block size is a good strategy. Depending on the size of the files you will be backing up, this multiple varies. Of course it also depends on the native block size of your file system. dir1 The first directory in the built-in RAID array. dir2 The second directory in the built-in RAID array. If you are not using the built-in RAID functionality, this field should be ignored. You should not use the built-in RAID if you have a hardware RAID solution or if you're using another type of software RAID (like md on Linux). dir3 The third directory in the built-in RAID array. The same notes that apply to dir2 also apply to dir3. Note that there are currently no way to add multiple disk sets to the raidfile.conf file using command line tools, etc. See raidfile.conf(5) for details on adding more disks. BUGS
If you find a bug in Box Backup, and you want to let us know about it, join the mailing list[2], and send a description of the problem there. To report a bug, give us at least the following information: o The version of Box Backup you are running o The platform you are running on (hardware and OS), for both client and server. o If possible attach your config files (bbstored.conf, bbackupd.conf) to the bug report. o Also attach any log file output that helps shed light on the problem you are seeing. o And last but certainly not least, a description of what you are seeing, in as much detail as possible. FILES
raidfile-config generates the raidfile.conf(5) file. SEE ALSO
bbstored-config(8), bbstored.conf(5), raidfile.conf(5) AUTHORS
Ben Summers Per Thomsen James O'Gorman NOTES
1. here http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#RAID_5 2. mailing list http://lists.warhead.org.uk/mailman/listinfo/boxbackup Box Backup 0.11 10/28/2011 RAIDFILE-CONFIG(8)
All times are GMT -4. The time now is 01:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy