Как преобразовать файл xlsx в csv с помощью сценария оболочки?

$ awk 'BEGIN { OFS="\t"; s=0 } /^[^[:blank:]]/ { print ++s "\b", $0; next } { print s, $0 }' file | sort -n | cut -f 2-
    0ce  Handle Bars
    0cf  Front Brake
    0d0  Rear Brake
HUT 03  VR Controls
    000  Unidentified
    001  Belt
    002  Body Suit
    003  Flexor
    004  Glove
    005  Head Tracker
    006  Head Mounted Display
    007  Hand Tracker
    008  Oculometer
    009  Vest
    00a  Animatronic Device
    020  Stereo Enable
    021  Display Enable
HUT 04  Sport Controls
    000  Unidentified
    001  Baseball Bat
    002  Golf Club

Здесь используется awkдля добавления номера (и разделителя табуляции )перед каждой строкой, соответствующей разделу, в котором находится эта строка. Для заголовков разделов мы добавляем число, за которым следует символ возврата. (только потому, что забой сортируется перед вкладками ). Затем мы просто сортируем полученные данные по этим числам, прежде чем удалить их и добавленные разделители табуляции.

Заголовки разделов обнаруживаются путем поиска не -пустых символов в начале строки.

1
09.07.2021, 12:42
0 ответов

Теги

Похожие вопросы