Longhand using builtins only to show that it can be done, (there are much better methods), using OSX 10.7.5, default bash terminal:-
Code:
#!/bin/bash
# tab.sh
> /tmp/txt
> /tmp/text
echo "1|A|apple|A|apple
2|B|bottle|A|apple
2|B|bottle
1|A|apple
2|B|bottle
" > /tmp/txt
text=$(cat /tmp/txt)
echo "$text"
# Working part start.
count=0
while [ $count -lt ${#text} ]
do
if [ "${text:$count:1}" = "|" ]
then
printf " " >> /tmp/text
else
printf "${text:$count:1}" >> /tmp/text
fi
count=$((count+1))
done
# Replace the final newline.
echo "" >> /tmp/text
# Working part end.
cat /tmp/text
hexdump -C /tmp/text
exit 0
Results:-
Code:
Last login: Sun Apr 5 16:00:45 on ttys000
AMIGA:barrywalker~> cd Desktop/Code/Shell
AMIGA:barrywalker~/Desktop/Code/Shell> chmod 755 tab.sh
AMIGA:barrywalker~/Desktop/Code/Shell> ./tab.sh
1|A|apple|A|apple
2|B|bottle|A|apple
2|B|bottle
1|A|apple
2|B|bottle
1 A apple A apple
2 B bottle A apple
2 B bottle
1 A apple
2 B bottle
00000000 31 09 41 09 61 70 70 6c 65 09 41 09 61 70 70 6c |1.A.apple.A.appl|
00000010 65 0a 32 09 42 09 62 6f 74 74 6c 65 09 41 09 61 |e.2.B.bottle.A.a|
00000020 70 70 6c 65 0a 32 09 42 09 62 6f 74 74 6c 65 0a |pple.2.B.bottle.|
00000030 31 09 41 09 61 70 70 6c 65 0a 32 09 42 09 62 6f |1.A.apple.2.B.bo|
00000040 74 74 6c 65 0a |ttle.|
00000045
AMIGA:barrywalker~/Desktop/Code/Shell> _
IMPORTANT NOTE: You have asked for TAB delimiters but have shown SPACE delimiters so be aware that this is TAB not SPACE! Hence the hexdump.
Also trailing newlines can be a problem but not in this particular case...
EDIT:
What have you attempted so far?
Also there are only nelines are carriage returns needed with the newlines too?
Last edited by wisecracker; 04-05-2015 at 01:38 PM..
Reason: See above...
i have a file whose data is like this::
osr_pe_assign|-120|wg000d@att.com|4|
osr_evt|-21|wg000d@att.com|4|
pe_avail|-21|wg000d@att.com|4|
osr_svt|-11|wg000d@att.com|4|
pe_mop|-13|wg000d@att.com|4|
instar_ready|-35|wg000d@att.com|4|
nsdnet_ready|-90|wg000d@att.com|4|... (6 Replies)
Hello Gurus,
I have a text file containing nearly 12,000 tab delimited characters with 4000 rows. If the file size is small, excel can convert the text into coloumns. However, the file that I have is very big. Can some body help me in solving this problem?
The input file example,
... (6 Replies)
I have a text file that made using text editor in Ubuntu. However the text file is not being recognized as space or tab delimited, the formatting seems to be messed up. How can I convert the text file into tab delimited format? (3 Replies)
Hi All,
I have space delimited file similar to the one as shown below.. I need to convert it as a pipe delimited, the values inside the pipe delimited file should be as highlighted...
AA ATIU2345098809 009697 005374
BB ATIU2345097809 005445 006518
CC ATIU9685098809 003215 003571
DD... (7 Replies)
I have a file which was pipe delimited, I need to make it tab delimited. I tried with sed but no use
cat file | sed 's/|//t/g'
The above command substituted "/t" not tab in the place of pipe.
Sample file:
abc|123|2012-01-30|2012-04-28|xyz
have to convert to:
abc 123... (6 Replies)
Hi How to make tab delimited file to space delimited?
in put file:
ABC kgy
jkh ghj
ash kjl
o/p file:
ABC kgy
jkh ghj
ash kjl
Use code tags, thanks. (1 Reply)
Hi
i have a problem in my job
i try to convert an excel file (xls extention) to text file (tab delimited), but no result with this comand
cat xxx.xls > xxx.txt
Do you have eny idea?
PS: sorry for my english
Thanks!! (4 Replies)
Hi All,
How can we convert pipe delimited ( or comma ) file to vertical tab (VT) delimited.
Regards
PK (4 Replies)
Discussion started by: prasson_ibm
4 Replies
LEARN ABOUT DEBIAN
mdb-sql
MDBTools(1)MDBTools(1)NAME
mdb-sql - SQL interface to MDB Tools
SYNOPSIS
mdb-sql [-HFp] [-d delimiter] [-i file] [-o file] [database]
DESCRIPTION
mdb-sql is a utility program distributed with MDB Tools.
mdb-sql allows querying of an MDB database using a limited SQL subset language.
OPTIONS -H Supress header row.
-F Supress footer row.
-p Turn off pretty printing. By default results are printed in an ascii table format which looks nice but is not conducive to manipu-
lating the output with unix tools. This option prints output plainly in a tab separated format.
-d Specify an alternative column delimiter. If no delimiter is specified, columns will be delimited by a tab character if pretty print-
ing (-p) is turned off. If pretty printing is enabled this option is meaningless.
-i Specify an input file. This option allows an input file containing the SQL to be passed to mdb-sql. See Notes.
-o Specify an output file. This option allows the name of an output file to be used instead of stdout.
COMMANDS
mdb-sql in interactive mode takes some special commands.
connect to <database>
If no database was specified on the command line this command is necessary before any querys are issued. It also allows the switch-
ing of databases once in the tool.
disconnect
Will disconnect from the current database.
go Each batch is sent to the parser using the 'go' command.
reset A batch can be cleared using the 'reset' command.
list tables
The list tables command will display a list of available tables in this database, similar to the mdb-tables utility on the command
line.
describe table <table>
Will display the column information for the specified table.
quit Will exit the tool.
SQL LANGUAGE
The currently implemented SQL subset is quite small, supporting only single table queries, no aggregates, and limited support for WHERE
clauses. Here is a brief synopsis of the supported language.
select:
SELECT [* | <column list>] FROM <table> WHERE <where clause>
column list:
<column> [, <column list>]
where clause:
<column> <operator> <literal> [AND <where clause>]
operator:
=, =>, =<, <>, like, <, >
literal:
integers, floating point numbers, or string literal in single quotes
NOTES
When passing a file (-i) or piping output to mdb-sql the final 'go' is optional. This allow constructs like
echo "Select * from Table1" | mdb-sql mydb.mdb
to work correctly.
The -i command can be passed the string 'stdin' to test entering text as if using a pipe.
ENVIRONMENT
MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).
MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.
MDBOPTS
semi-column separated list of options:
o use_index
o no_memo
o debug_like
o debug_write
o debug_usage
o debug_ole
o debug_row
o debug_props
o debug_all is a shortcut for all debug_* options
HISTORY
mdb-sql first appeared in MDB Tools 0.3.
SEE ALSO gmdb2(1)mdb-export(1)mdb-hexdump(1)mdb-prop(1)mdb-ver(1)mdb-array(1)mdb-header(1)mdb-parsecsv(1)mdb-schema(1)mdb-tables(1)AUTHORS
The mdb-sql utility was written by Brian Bruns.
BUGS
The supported SQL syntax is a very limited subset and deficient in several ways.
0.7 13 July 2013 MDBTools(1)