преобразовать файл Excel в файл разделителя каналов в Linux, используя скрипт

1

Необходимо преобразовать файл Excel в файл разделителя каналов в Linux с помощью сценария оболочки. Пожалуйста, помогите

Я новичок в сценарии оболочки. Я видел сообщение, чтобы преобразовать запятую в канал, используя следующий код ...

awk '{for(i=1; i<=NF; i+=2) gsub(",","|",$i)}1' FS=\" OFS= file

как изменить эту команду для файла Excel в канал?

user3844609
источник
Это файл Excel с расширением xls или xlsx? Или простой текстовый файл CSV?
Муру
да, это файл Excel с расширением .xlsx
user3844609
Тогда вы не можете использовать awk напрямую. Сначала вам нужно получить CSV-файл, используя, например, команду в unix.stackexchange.com/q/259361/70524
Muru
1
Protip: это .xslxпросто почтовый индекс, содержащий XML. Разархивируйте, запустите awk поверх всех XML-файлов, архив должен работать. По крайней мере, это то, что я делаюpython
Панки
Excel должен иметь возможность экспортировать файл с любым разделителем, который вы хотите использовать.
Кусалананда

Ответы:

1

Я знаю, что это обман, но если у вас есть gnumeric + ssconvert (мой любимый Linux excel ), вы можете

 ssconvert -O 'separator=| format=raw quoting-mode=never' in.xlsx out.txt

Смотрите также unoconv и pandoc

JJoao
источник