All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| author: einar
 | |
| categories:
 | |
| - General
 | |
| - Linux
 | |
| comments: true
 | |
| date: "2007-05-24T18:16:18Z"
 | |
| slug: tab2dokuwiki
 | |
| title: tab2dokuwiki
 | |
| omit_header_text: true
 | |
| 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
 |