/bin/ls -lF "$@" | sed -r ': top; s/. ([0-9]+)([0-9]{3}[,0-9]* \w{3} )/ \1,\2/ ; t top'
Команда /bin/ls -lF "$@"
выводит список файлов и директорий в формате длинного списка (-l) с указанием типа файла (-F). Аргумент «$@» позволяет передавать параметры команды в виде аргументов командной строки.
После этого результат передается в команду sed
, которая выполняет поиск и замену с использованием регулярных выражений. В данном случае, регулярное выражение : top; s/. ([0-9]+)([0-9]{3}[,0-9]* \w{3} )/ \1,\2/ ; t top
используется для добавления запятых в числах, чтобы улучшить их читаемость.
Альтернативы: можно использовать команду numfmt
для форматирования чисел, например numfmt --grouping "$@"
.
Аргументы, передаваемые команде, могут быть именами файлов и директорий, для которых нужно выполнить команду ls
.