Как перечислить только файлы в каталоге, разделенные запятыми

Перейдите в терминал и введите geany -h, он покажет вам все доступные опции. Среди них -i, --new-instance Не открывайте файлы в запущенном экземпляре, принудительное открытие нового экземпляра - именно то, что вам нужно.

HOW-TO

  1. Найдите то, на что вы нажимаете.

  2. Откройте его в любом текстовом редакторе или найдите способ изменить команду, которую он выполняет. (это может быть сложно, если это, например, пусковая установка в трее).

  3. Измените команду с geany -some_options на geany -some_options -i

--

done.

5
02.10.2016, 17:16
3 ответа

Вы можете использовать tr для этого задания.

ls -p | grep -v / | tr '\n' ','
21
27.01.2020, 20:32

Вы можете использовать команду GNU ls -m. Он будет печатать все файлы и каталоги, разделенные запятой.

8
27.01.2020, 20:32

Решение, предложенное Томасом, работает, но оно добавляет запятую к последнему элементу (, что может быть не тем, что вам нужно ), и удаляет пробелы после запятых. Следующая альтернатива сохраняет пробелы после запятых и не добавляет запятую после последнего элемента:

 ls -1p | grep -v / | xargs echo | sed 's/ /, /g'

Конечно, если вы хотите избавиться от пробелов между элементами, просто измените выражение sed:

 ls -1p | grep -v / | xargs echo | sed 's/ /,/g'

(Примечание для зрителей, использующих шрифт, в котором строчная буква «l» и цифра «1» (один )выглядят одинаково :первый параметр, переданный в ls, равен 1, число, не в нижнем регистре l.)

Как отметил Джим Л. в комментарии,приведенные выше команды работают только для имен файлов, не содержащих пробелов. Следующие команды работают вокруг этого:

 ls -1p | grep -v / | sed 's/$/, /g' | xargs echo | sed 's/,$//g' 

Это заменяет окончания строк запятыми перед передачей списка на echo; последняя часть избавляется от команды в конце списка.

2
27.01.2020, 20:32

Теги

Похожие вопросы