48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
author: einar
 | 
						|
categories:
 | 
						|
- General
 | 
						|
- Linux
 | 
						|
comments: true
 | 
						|
date: "2007-05-24T18:16:18Z"
 | 
						|
slug: tab2dokuwiki
 | 
						|
title: tab2dokuwiki
 | 
						|
disable_share: true
 | 
						|
wordpress_id: 251
 | 
						|
---
 | 
						|
 | 
						|
Today I made a simple sed script that converts a tab-delimited text file to a format that can be pasted into a [DokuWiki](http://wiki.splitbrain.org/wiki:dokuwiki) wiki. [There is  a plugin](http://wiki.splitbrain.org/plugin:csv) that permits to read CSV files directly, however:
 | 
						|
 | 
						|
 | 
						|
 | 
						|
	
 | 
						|
  * It doesn't support tab-delimited text files;
 | 
						|
 | 
						|
	
 | 
						|
  * It's incompatible with some plugins (one being [DokuTexit](http://danjer.doudouke.org/tech/dokutexit), which I need).
 | 
						|
 | 
						|
 | 
						|
Hence the need for this script. To use it, just copy and paste the code (see below) into a new file, make it executable (chmod +x) and then invoke it with
 | 
						|
 | 
						|
[code lang="bash"]
 | 
						|
tab2wiki inputfile
 | 
						|
[/code]
 | 
						|
 | 
						|
Note that it outputs the result on stdout, so you'll need to redirect it if you want to save.
 | 
						|
 | 
						|
Without further ado, here's the script (syntax may be off regarding colors):
 | 
						|
 | 
						|
[code lang='c']
 | 
						|
#!/bin/sed -f
 | 
						|
# tab2wiki - converts any tab-delimited file into a DokuWiki table
 | 
						|
# First line is treated as header (^)
 | 
						|
{
 | 
						|
s/\t/|  /g
 | 
						|
s/$/  |/g
 | 
						|
s/^/|  /g
 | 
						|
s/|  /  |  /g
 | 
						|
1s/|/\^/g
 | 
						|
s/^\s\s//g
 | 
						|
}
 | 
						|
[/code]
 | 
						|
  *[CSV]: Comma Separated Values
 |