Предполагая, что у меня есть строка, которую я хочу добавить в файл, не открывая редактор.
Как я могу добавить эту строку
alias list='ls -cl --group-directories-first'
в этот файл
config.fish
Предполагая, что у меня есть строка, которую я хочу добавить в файл, не открывая редактор.
Как я могу добавить эту строку
alias list='ls -cl --group-directories-first'
в этот файл
config.fish
Вы можете добавить строку текста в файл, используя >>
оператор:
echo "hello world" >> my_file.txt
или в вашем случае
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Пожалуйста, обратите внимание на различные типы цитат .
>
файл будет обрезан, а не добавлен. для более безопасной команды вы можете использовать sed:sed -i '$a hello world' filename
-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:
<<'EOF'
означает «принять следующее как ввод, пока не достигнете строки, которая является простоEOF
». Кавычки означают буквальное восприятие ввода.Или ввод строки на стандартный ввод:
Затем вставьте или введите строку, нажмите, Enterчтобы перейти к новой строке, затем нажмите Ctrl + D, чтобы отметить конец.
источник