Скрипт свое дело делает, но исполнение не нравится мне. Не знаю как обойтись без промежуточного файла. А также как записать результат в файл не в трех командах, а после последней. Подскажите как подправить.
Не поверите, читаю. Не всем ведь дано одним взглядом изучить. Понимаю что задачу можно решить ни одним инструментом, красиво или колхозно. Мой колхоз задачу решает)))) но хочется ведь научиться не колхозно делать дело
Временные файлы это удобно. Не хочешь «насиловать» диск, создавай их в (RAM) tmpfs (/dev/shm, ...)
Нет, временные файлы - это неудобно, так как: 1) их нужно правильно называть - man mktemp 2) их нужно подчищать в конце выполнения программы, а точек выхода из программы может быть несколько 3) а еще интересней их подчищать когда программа упала где-то посередине, например, по Ctrl+C или просто если внутри что-то свалилось.
Так что если ты там не магабайты ворочаешь, используй переменные или научись комбинировать пайпы.
Бывает, что такое нужно, но уж не для выдирания строк с вебстранички.
Если, например, качать образ сидюка, прожигать его на болвань, сохранять на нжмд и считать контрольную сумму md5 и sha256, то можно и tee >() >()... А так - ну нафиг.
Спс. Все что писали читал, все знакомо. Но помимо всего этого мышление наверное нужно такое заиметь, чтоб правильные конструкции составлять. С опытом придёт. Спасибо
это фигня, по-сравнению с тем что через месяц смотришь на этот скритп как на чужой и с матюками начниаешь раскручивать пятиэтажные конструкции. Промежуточные файлы и простые конструкции, так не любимые местной школотой типа sed ... | grep ... | awk ... вместо одного awk , здорово облегчает жизнь в перспективе
1) их нужно правильно называть - man mktemp 2) их нужно подчищать в конце выполнения программы, а точек выхода из программы может быть несколько 3) а еще интересней их подчищать когда программа упала где-то посередине, например, по Ctrl+C или просто если внутри что-то свалилось.
1. элементарная вещь, не стоило даже упоминать
2. множество точек выхода только у криворуких, но даже здесь им помогут функции, перед выходом вызывай clean_n_exit, вместо exit
1) их нужно правильно называть - man mktemp 2) их нужно подчищать в конце выполнения программы, а точек выхода из программы может быть несколько 3) а еще интересней их подчищать когда программа упала где-то посередине, например, по Ctrl+C или просто если внутри что-то свалилось.
1. элементарная вещь, не стоило даже упоминать 2. множество точек выхода только у криворуких, но даже здесь им помогут функции, перед выходом вызывай clean_n_exit, вместо exit 3. man trap (bash)
1. Я не тебе упоминаю, а ТС'у. Посмотри его код. 2. Как научишься правильно применять несколько точек выхода, приходи. 3. Я вроде не спрашивал...