У меня возникла проблема с bash, я начал использовать ее в последнее время. Я понимаю, что много волшебных вещей можно сделать только с одной строкой, так как мой предыдущий вопрос был решен ею. На этот раз вопрос прост:Как упорядочить строки в файлах, если некоторые строки являются строками
У меня есть файл, который имеет следующий формат
2 2 10
custom
8 10
3 5 18
custom
1 5
некоторые из линий, равных строки custom
(это может быть любая строка!) И другие линии имеют 2 или 3 номера в этом. Я хочу файл, который будет последовательно строк с номерами, но держать линии с пользовательским (порядка также должна быть одинаковым), поэтому требуемый выход
2 4 6 8 10
custom
8 9 10
3 8 13 18
custom
1 2 3 4 5
Я также хочу, чтобы перезаписать исходный файл с этим. Я знаю, что с seq я могу сделать последовательность, но я желаю элегантный способ сделать это в файле.
обычай может быть любой строки, возможно, также '1 странная строка'. Непонятно из этого вопроса, для решения прямой задачи. –
Это не сработало. Может быть, я должен был быть более ясным, любая строка может соответствовать обычаю, и буквально будет строка «custom», другие строки могут иметь 2 или 3 числа, и это может быть любое число в строке, я проверяю этот код для файла что составило 2 2 10; обычай; 2 6 10; обычай; 1 5 (; представить строку), обратите внимание, что для выхода 2 6 10 должно быть 2 6 - я буквально хочу выполнить команду seq на любой строке, которая не равна таможне –
Если это помогает, файл может иметь 1, 2 или 3 линий. Я не упоминал об этом, потому что я хотел получить более общее решение. так как максимальное количество строк в файле равно 3, я могу решить эту проблему вручную с помощью многого, если else операторов, которые будут обрабатывать все 8 случаев, но я надеялся на более элегантное решение. –