Ответы:
Вы можете добавить строку текста в файл, используя >>
оператор:
echo "hello world" >> my_file.txt
или в вашем случае
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Пожалуйста, обратите внимание на различные типы цитат .
-i
обновит файл (иначе он просто распечатает результат в stdout), $
это регулярное выражение, которое будет соответствовать концу файла, и a
добавит следующий текст к имени файла.
echo "hello world" >> my_file.txt
не создает новую последнюю строку с HW
, но добавляет ее в строку последней строки.
HW
@timo?
echo
что добавляет разрыв строки (делая ее строкой, а не просто набором символов). Вы можете отключить разрыв строки в конце с помощью -n
.
Существует множество способов добавления файлов без открытия текстовых редакторов, особенно с помощью нескольких доступных утилит обработки текста в Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
Добавление ответа Стефано , вы также можете использовать cat
:
Используя heredoc:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'
означает «принять следующее как ввод, пока не достигнете строки, которая является просто EOF
». Кавычки означают буквальное восприятие ввода.
Или ввод строки на стандартный ввод:
$ cat >> config.fish
Затем вставьте или введите строку, нажмите, Enterчтобы перейти к новой строке, затем нажмите Ctrl + D, чтобы отметить конец.
>
файл будет обрезан, а не добавлен. для более безопасной команды вы можете использовать sed:sed -i '$a hello world' filename