Use por exemplo unoconv
para convertê-lo em CSV e, em seguida, converter o CSV em colunas separadas por tabulações.
Aqui está um script Bash que usa unoconv
e Python para isso:
#!/bin/bash
if [ $# -lt 1 -o "$1" = "-h" -o "$1" = "--help" ]; then
exec >&2
printf '\n'
printf 'Usage: %s [ -h | --help ]\n' "$0"
printf ' %s FILE.ods [ ... ] [ > output.txt ]\n' "$0"
printf '\n'
exit 0
fi
unoconv --stdout -f csv "$@" | python -c '
import sys
import csv
from string import maketrans
whitespace = maketrans("\t\r\n", " ")
def fix(s):
return str(s).translate(whitespace)
for row in csv.reader(sys.stdin):
print("\t".join(map(fix, row)))'
Este é paranóico, pois garante que os campos não contenham guias ou novas linhas (eles serão substituídos por um espaço se ocorrerem) o que, de outra forma, confundiria a saída.
Se você salvar o acima (temporariamente) como ods2tsv
, poderá instalá-lo usando
sudo install -o root -g root -m u=rwx,g=rx,o=rx ods2tsv /usr/bin/ods2tsv
e você pode usá-lo como, por exemplo.
ods2tsv somefile.ods > your.txt