FUSE имеет опции управлять, у кого есть доступ к файлам. Я предполагаю, что Вы хотите sshfs -o allow_other
.
Благодаря преимуществам, полученным в результате нескольких лет разработки, sort -V
на sort 8.26
дает именно то, что нужно:
$ echo -e "b b 1\n23 44\nb 3\na 7\nb b 2\na 1\nb a 10\nb b 10\nb 1\nb a 1\n8 2\nb 10\n8 15\nb a 2\n23 9\nb 2" \
| sort -V
8 2
8 15
23 9
23 44
a 1
a 7
b 1
b 2
b 3
b 10
b a 1
b a 2
b a 10
b b 1
b b 2
b b 10
Я думаю, что Вы, которыми проблема состоит в том, что Вы не понимаете что sort
делает. Основной вид основан на значениях символа ASCII, где числа перед верхним регистром, которые являются перед нижним регистром: '1' == 49, == 65, = 97. Это объясняет sort
столбец, где числа как '23' отсортирован прежде '8', который является прежде 'b b': значение ASCII для '2' равняется 50, значение ASCII для '8' равняется 56, и для 'b' 98.
При сортировке численно (sort -n
), нечисловые записи отсортированы по обычному методу, но интерпретированы как нуль по сравнению с числами, как 23 или 8; но так как значение рассматривают как число, не, символьное значение, '8' прежде '23'. Таким образом, алфавитные записи отсортируют перед числовыми записями.
Ваш лучший выбор состоит в том, чтобы нормализовать данные, таким образом, каждый столбец имеет тот же тип значения: или все числа или все алфавитно-цифровые, и вид соответственно.
В последнем столбце (сортирующий по полю), это отсортирует записи с большим количеством полей сначала, так как Вы явно указываете 4 (или больше) поля. Так (1,2,3) был бы прежде (1,2). Без -k
опция, вид проводит строку в целом во внимание.
Можно считать больше информации об информации coreutils страница вида.
echo -e "b b 1\n23 44\nb 3\na 7\nb b 2\na 1\nb a 10\nb b 10\nb 1\nb a 1\n18 2\nb 10\n18 15\nb a 2\n23 9\nb 2" \
| sed -r 's/[a-z]/9999&/g' | sort -n -k1 -k2 -k3 | sed 's/9999//g'
18 2
18 15
23 9
23 44
a 1
b 1
b 2
b 3
a 7
b 10
b a 1
b b 1
b a 2
b b 2
b a 10
b b 10
Это - это, что Вы хотите? Отсортируйте численно, если числовой, и числа перед другими символами?
Я снабжаю префиксом каждую Строку высокое количество, чтобы поместить Строки в последний раз путем сортировки и удалить высокие числа (9999) в конце.