Эта POSIX фальшивая функция оболочки tee
не имеет зависимостей:
faketee() {
if [ "$1" = '-a' ] ; then
shift
while read -r x ; do
echo "$x" >> "$1"
echo "$x"
done
else
while read -r x ; do
echo "$x" > "$1"
echo "$x"
done
fi
}
Протестируйте его в bash
с помощью ls
на существующем файле,(выводит одну строку в STDOUT)и имя файла без него, (выводит другую строку в STDERR):
cd /tmp
ls /bin/bash /bin/nosuchfile 1> >(faketee -a std.log) \
2> >(faketee -a err.log >&2)
Выход:
/bin/bash
ls: cannot access '/bin/nosuchfile': No such file or directory
...затем снова запустите его с еще двумя такими именами файлов:
ls /bin/dash /bin/nohowsuchfile 1> >(faketee -a std.log) \
2> >(faketee -a err.log >&2)
Выход:
/bin/dash
ls: cannot access '/bin/nohowsuchfile': No such file or directory
Теперь проверьте файлы журнала, чтобы убедиться, что переключатель-a
добавление работает:
grep -n '.' std.log err.log
Вывод показывает, что добавленные перенаправления находятся там, где они должны быть:
std.log:1:/bin/bash
std.log:2:/bin/dash
err.log:1:ls: cannot access '/bin/nosuchfile': No such file or directory
err.log:2:ls: cannot access '/bin/nohowsuchfile': No such file or directory
Во-первых, способ отображения списка файлов полностью зависит от программы, ответственной за их представление, а не от того, как они хранятся в самой файловой системе. Если ваш файловый менеджер не поддерживает функцию сортировки, вы мало что можете сделать.
Если вы используете nautilus
, приложение графического файлового менеджера по умолчанию в Ubuntu 20.10, вы должны иметь возможность сначала щелкнуть кнопку «переключить вид», чтобы изменить вид на список со значка, если это еще не сделано,затем щелкните «имя», чтобы отсортировать файлы по имени в порядке возрастания/убывания.