У меня есть набор данных, который я вырезал и вставлял из электронной таблицы Google в свой текстовый редактор (Sublime Text 2), и этот набор данных не совсем соответствует моим потребностям в обработке.
В той форме, в которой они исходят из электронной таблицы, данные начинаются с одной строки строк, по одной для каждого столбца, а затем ряда строк с данными; в строках данных каждый столбец либо имеет значение 1
, либо пуст. Я не знаю, разделены ли данные табуляцией, когда они поступают из электронной таблицы, но после вставки в текстовый файл это не так. Если последний 1
в строке не находится в последнем столбце, строка дополняется пробелами до но не включая последний столбец.
Я пытался что-то сделать с awk
, но не мог понять, как справиться с тем фактом, что пробел является и разделителем, и значением столбца. Затем я попробовал несколько команд с sed
, в том числе замену повторяющихся пробелов нулями и переход к другому sed
, который заменял 10
на 1 0
, но иногда у меня иногда вставлялись лишние нули, и я не знаю, где в соответствующих строках это произошло.
Это пример данных (в реальном файле 13 столбцов). Я добавил $
в качестве символа после последнего символа в строке, чтобы вы могли видеть, насколько далеко заполняются строки.
"1" "2" "3" "4" "1" "2" "3" "4"
1 1 $ 0 1 1 0
1 1 $ 1 0 0 1
1 $ 0 1 0 0
1 1 1 $ 1 1 0 1
Я хотел бы получить что-то вроде права (и тогда мне все равно, где заканчивается строка), чтобы я мог обработать его с помощью awk
.
И кстати, я видел это вопрос , который не решает мою проблему, поскольку решение там основано на том факте, что файл разделен табуляцией, без каких-либо значений в «пустых» ячейках. Повторюсь, мой файл разделен пробелами с пробелами в пустых ячейках.