ls file1 file2
Файл file1
существует, file2
не существует. Перенаправьте только стандартную ошибку в канал, одновременно записывая номера строк, и перенаправьте вывод в файл.
В общей сложности несколько часов бился над данной задачей.
Методом перестановки всех возможных операторов перенаправления потоков получил такое решение, но оно неверное:
ls file1 file2 2>&1 1>output.txt | nlr
Самым логичным было бы написать так, но такой вариант не нумерует строки:
ls file1 file2 > output.txt | nl
есть несколько вопросов:
1. Почему последний вариант, кажущийся самым правильным строки не нумерует
2. Операторы перенаправления потоков выполняются справа налево или слева направо?
3. Операторы перенаправления выполняются последовательно (то есть ожидают выполнения предыдущих), или выполняются параллельно?
4. Как решить эту задачу? Возможно что-то не так концептуально?