Фон
Команда tr переводит, удаляет или сжимает символы из стандартного ввода. Я пытаюсь создать псевдоним cshell , который выводит команду setenv
таким образом, чтобы каждый файл или каталог в пути отображался в новой строке.
Другими словами, я хочу получить в этом примере вывод setenv
:
PATH = / некоторые / реж: / некоторый / второй / директории: / некоторой / третьей / реж * * 1016
PROFILES = file: ///some/file/here.txt; file: ///some/second/file.xml; file: ///some/third/file/there.pl
Чтобы стать этим:
PATH = / some / dir
/ некоторые / второй / реж
/ некоторые / третий / реж
PROFILES = file: ///some/file/here.txt
Файл: ///some/second/file.xml
Файл: ///some/third/file/there.pl
Связанные псевдонимы, которые работают
Я создал псевдонимы, которые выводят отдельные переменные среды, как указано выше:
- Для ПУТИ:
alias readablePath = 'echo "$PATH" | tr : '\'\\\n\'' '
- Для ПРОФИЛЕЙ:
alias readableProfiles= 'echo "$PROFILES" | tr \; 'echo "$PATH" | tr : '\'\\\n\'' '
Попытки псевдонимов, которые не работают
Это псевдонимы, которые я пробовал возвращать tr: no match
.
alias readEnv 'echo "setenv" | tr [:\;] '\'\\\n\'' '
alias readEnv 'echo setenv | tr [:\;] '\'\\\n\'' '
alias readEnv 'echo setenv | tr [:\\;] '\'\\\n\'' '
alias readEnv 'echo setenv | tr [:;] '\'\\\n\'' '
Это псевдонимы, которые я пробовал, которые возвращают строку "setenv"
.
alias readEnv 'echo setenv | tr "[:;]" '\'\\\n\'' '
alias readEnv 'echo "setenv" | tr "[:;]" '\'\\\n\'' '
Вопрос
Как мне создать псевдоним, который успешно принимает вывод setenv
и вставляет новую строку, где есть ":" или ";"??