Является ли символ «at» @ относительно безопасным в путях к файлам?

Если вы рассматриваете каждую ячейку в своей таблице как заполнитель для создания желаемого результата, то вы можете сортируйте и подсчитывайте повторяющиеся строки, чтобы определить, сколько строк имеют одинаковое количество столбцов.

a=$(sed 's/\([0-9]\+\)/1/g' file | sort | uniq -c)
dups=$( echo "$a" | cut -d' ' -f7 )

И после этого вы можете подсчитать количество слов в каждой строке, чтобы определить, сколько столбцов в строке.

words=$(echo "$a" | cut -d' ' -f8- | awk '{print NF}')
paste <(echo "$dups") <(echo "$words")
4       1
1       3
3       4
1       9
0
23.06.2017, 23:05
3 ответа

Символ @ обычно понимается как начало имени хоста.

mail bob@example.net

Это признак того, что многие программы, которые могут использовать сеть, могут запутаться с таким символом. Вероятно, добавление косой черты /@может уменьшить такие недоразумения, но зачем бороться с системой, если файлы, запускаемые с помощью _, не используются в сети и кажутся более надежными.

Если вам нужно «круто», и ваша файловая система может использовать юникод (некоторые файловые системы не могут ), тогда используйте:

☺src
☺target
☺transform.sh
☺run.sh

Или круто:❄srcс ритмом:♫srcили ʕ•ᴥ•ʔsrc, выбирай.

Да, есть много односимвольных символов, взгляните на блок эмодзи


Вставить эмодзи

Существует несколько способов «напечатать» эмодзи, но все они требуют использования «вставки» для completion.

  1. Скопируйте и вставьте с веб-страницы, на которой есть нужный вам смайлик.

  2. Поместите нужные эмодзи в файл и:

    $ cat emojifile
    ☺       ❄       ♫       ʕ•ᴥ•ʔ   
    

    Затем :скопируйте и вставьте.

  3. Запомните код эмодзи и напечатайте его:

    $ printf '\U263A\n'
    ☺
    

    Затем :скопируйте и вставьте.

  4. Улучшите файл эмодзи, добавив кодовую точку Unicode к эмодзи :Номер эмодзи можно найти по:

    $ printf '%X' '"☺'
    263A
    
    $ cat emojifile
    ☺ \U263A        ❄ \U2744        ♫ \U266B        ʕ•ᴥ•ʔ \U295\U2022\U1D25\U2022\U294       \U1F913
    
4
28.01.2020, 02:16

да, так что я не очень в курсе, но, по-видимому, есть довольно много символов Юникода, которые вы можете сгенерировать только с помощью клавиатуры, используя alt + [x].

Таким образом, вместо знака @ в пути к файлу требуется экранирование \@

Возможно, я воспользуюсь одним из этих:

∆∑µß

, которые были сгенерированы комбинацией клавиши alt и клавиши символа.

И вы также получаете завершение табуляции при использовании этих символов, что обязательно.

Если у кого-то возникла проблема с использованием этих типов символов в пути к файлу, пожалуйста, сообщите мне как можно скорее:)

-1
28.01.2020, 02:16

systemd использует @ в путях к файлам:/usr/lib/systemd/system/getty@.service. Я не ожидаю каких-либо проблем для пользователей Linux вашего проекта. @кажется мне вполне безопасным.

Я не встречал ни одной сетевой команды, которая иначе обрабатывала бы строки, содержащие @, включая mail. Общий шаблон на самом деле использовать :, например. rsync SRC user@host:. Если вы опустите :, rsync создаст локальный файл user@hostвместо того, чтобы пытаться скопировать его в домашний каталог userна компьютере с именем host.

3
28.01.2020, 02:16

Теги

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