Я искал несколько дней, пытаясь использовать awk, sed, cut и tr для возможного решения моей проблемы. У меня есть набор данных, Thats разделителями с «@», как показано ниже ...Как разделить целое число, используя условие «если»?
[email protected]@[email protected]/[email protected]/[email protected]@11/2
[email protected]@31 1/[email protected] 1/[email protected]/[email protected]@21/2
[email protected]@116 1/[email protected]@911 3/[email protected]@38 1/2
[email protected]@[email protected]/[email protected]/[email protected]@49 1/4
[email protected]@[email protected]@67 1/[email protected] 1/[email protected] 1/2
[email protected]@[email protected] 1/[email protected] 1/[email protected] 1/[email protected]
[email protected]@[email protected] 1/[email protected] 1/[email protected]@717 3/4
[email protected]@127 3/[email protected] 3/[email protected] 1/[email protected] 1/[email protected] 3/4
[email protected]@[email protected] 64 1/[email protected]@916 1/[email protected]
[email protected]@139 3/[email protected] 1/[email protected]@[email protected] 3/4
[email protected]@[email protected]@43 1/[email protected] 1/[email protected] 1/4
[email protected]@84 1/[email protected]@1011 3/[email protected] 1/[email protected] 1/4
[email protected]@52 1/[email protected] 1/[email protected]@[email protected] 3/4
То, что я хотел бы сделать, это разделить число строк в первом столбце (Ряды) от остальных чисел в других столбцах, начиная с столбца 3 и далее. Конечные результаты будут выглядеть так:
[email protected]@[email protected]@[email protected]/[email protected]@1/[email protected]@[email protected]@1/2
[email protected]@[email protected] 1/[email protected]@1 1/[email protected]@1/[email protected]@[email protected]@1/2
[email protected]@[email protected] 1/[email protected]@[email protected]@11 3/[email protected]@[email protected]@8 1/2
[email protected]@[email protected]@[email protected]/[email protected]@1/[email protected]@[email protected]@9 1/4
[email protected]@[email protected]@[email protected]@[email protected] 1/[email protected]@11 1/[email protected]@11 1/2
[email protected]@[email protected]@[email protected] 1/[email protected]@9 1/[email protected]@13 1/[email protected]@16
[email protected]@[email protected]@[email protected] 1/[email protected]@13 1/[email protected]@[email protected]@17 3/4
[email protected]@[email protected] 3/[email protected]@9 3/[email protected]@12 1/[email protected]@16 1/[email protected]@17 3/4
[email protected]@[email protected]@[email protected] 1/[email protected]@[email protected]@16 1/[email protected]@18
[email protected]@[email protected] 3/[email protected]@11 1/[email protected]@[email protected]@[email protected]@19 3/4
[email protected]@[email protected]@[email protected]@[email protected] 1/[email protected]@18 1/[email protected]@26 1/4
[email protected]@[email protected] 1/[email protected]@[email protected]@11 3/[email protected]@19 1/[email protected]@28 1/4
[email protected]@[email protected] 1/[email protected]@3 1/[email protected]@[email protected]@[email protected]@32 3/4
Я думал, что могу использовать инструкцию «if». Что-то вроде «если целые числа начинаются с [2-9], а затем разделяются после одного символа, elif он начинается с [1], а длина равна 3 или более (перед пространством и дробью), а затем разделяет первые два символа». Я понятия не имею, как решить эту проблему. У меня есть тысячи похожих файлов, и мне нужно изменить структуру для всех из них, поэтому решение придется запускать через цикл.
Вы бросаете слишком много данных. Пожалуйста, покажите 4 или 5 номеров, а затем как их следует разделить. –