Generate tree from tab-indented file
Input:
dir1
subdir1
file1.txt
file2.txt
file3.txt
dir2
file4.txt
Output:
.
├── dir1
│ ├── file3.txt
│ └── subdir1
│ ├── file1.txt
│ └── file2.txt
└── dir2
└── file4.txt
4 directories, 4 files
A rough script for what's desired:
# tab2tree
#!/bin/sh
awk '\
BEGIN { FS = "\t"; delete stack }
{
depth = 0
while (substr($0, depth+1, 1) == "\t") {
depth++
}
path = ""
for (i = 0; i < depth; i++) {
path = path stack[i] "/"
}
print path $NF
stack[depth] = $NF
}
' | tree --fromfile .
Usage: cat input.txt | tab2tree