В скрипте также можно вывести полученные параметры через массив BASH_ARGV
А вот если вывести из функции то необходимо включить перед передачей опцию: shopt -s extdebug
P.S. Буквально вчера с этим экспериментировала, поэтому могла где нить накосячить.
Псевдоним vi для автоматического открытия файла сессии:[не правильно!]
Есть варианты с созданием файлов сессий в отдельной директории с именами проектов. По мне это довольно неудобно. У меня было организованно так. В корне проекта создается дефолтный файл сессии Session.vim и в дальнейшем открывается просто командой vim -S. Для меня редактор вим вездеход, открываю как отдельные файлы, без файлов, так и в проектах с файлом сессии где файлы открыты в табах. Довольно неудобно набирать vim -S принимая во внимание еще, что флаг вводится в верхнем регистре. В дополнение, совершенно не пользуюсь командой vi и решила это скомбинировать.
alias vi='[ $# -eq 0 -a -f Session.vim ] && vim -S || vim'
Теперь команда vi открывает файл сессии если он существует в текущей директории, если нет открывается пустой буфер редактора без получения ошибки об отсутствии файла сессии. Кроме того в корне проекта открываются любые файлы вне сохраненной сессии если у команды vi есть параметры.
Последний раз редактировалось olecya 18.06.2022 14:06, всего редактировалось 1 раз.
Недавно я шутки ради написала имя функции в кириллице и она сработала.
Shell
$ Функция() { echo hi; }
$ Функция
$ hi
Я наивно полагала что имена функций должны составляться так же как и имена переменных. Я еще не копала глубоко, но думаю это как то может быть полезным, в любом случае это интересно.
Подскажите, можно ли в выводе команд консоли/терминала показать номера строк?
Не из файла, а только в самой консоли, настройки есть?
Про вывод из текстового файла знаю, но есть например команда от утилиты dnf dnf list kernel*
вывод большой, пронумеровать можно? (без вывода в файл и обратно в консоль)
от их нумерации похоже не избавиться, направление понял, попробую ещё поиграться с утилитой nl
И можно пояснить механику | cat -n ? в смысле как она нумерует терминал (про саму команду читал)
И можно пояснить механику | cat -n ? в смысле как она нумерует терминал (про саму команду читал)
Так по моему тут всё просто, номер + строка + символ LF(0x0A).
Разделителем строк является символ код которого соответствует шестнадцатеричному значению 0x0A.
И можно пояснить механику | cat -n ? в смысле как она нумерует терминал (про саму команду читал)
| перенаправляет поток стандартного вывода dnf в поток стандартного ввода cat. Поскольку cat не передано ни одного файла в качестве аргумента, он выполняет чтение из потока стандартного ввода. После чего выводит, добавляя номера строк (за что отвечает опция -n).
Да-да, отлично, буду иметь ввиду, но со слешью → dnf list kernel\* | nl -bp'\.x86_64'
Я тоже потихоньку начал изучать "птичий" язык, увлекательное занятие, но временами моск трещит
Маялся бессонницей, наткнулся на домашку от студента, для себя я её немного изменил.
Как пронумеровать текст в файле через одну строку, чтобы консоль пронумеровала, например все нечётные, а потом все чётные строки.
По отдельности я нашёл подсказку: cat -n /путь/имя_файла.txt | sed -n '1~2p' cat -n /путь/имя_файла.txt | sed -n '2~2p'
А вот весь файл сразу вывести не могу, стало любопытно, третью ночь мучаюсь (и с файлом, и с бессонницей )
Команда желательно однострочная.
algri14
Чтобы не делиться бессонницей задавая подобные вопросы, есть отличный механизм основанный на конкретном примере, исключающий неопределенности. Например. У меня есть файл: cat file
Но на мой взгляд, вместо того чтобы все это объяснять, достаточно привести ответ в том виде как я это понимаю и оставить оппоненту самому уточнять задачу:
Примечание: file{,} - После раскрытия оболочкой получаем - file file, а значит если используемая оболочка не умеет Brace Expansion, то вместо этой конструкции достаточно указать два раза имя файла.
Это наиболее правильный вывод. Что у меня что у Олеси, вывод неправильный, если в тексте полно пробелов, по этому нужно просто заменить первый столбец:
Народ, всем спасибо, посижу проверю/сравню команды. Когда увидел вопрос от студента, то самому стало интересно, а в инете только стандартная нумерация. Глубже копнуть не смог, особенно запутана awk, хотя вроде как лучше остальных, здесь ещё предложили короткие варианты, в инете на всю ширину страницы, ваЩе ребус
Формулировка у студента тоже не совсем понятная в вопросе, ему пронумеровали все строки нечётными цифрами: