it-roy-ru.com

Команда для добавления строки в текстовый файл без открытия редактора

Предполагая, что у меня есть строка, которую я хочу добавить в файл, не открывая редактор.

Как я могу добавить эту строку

alias list='ls -cl --group-directories-first'

в этот файл

config.fish
143
NES

Вы можете добавить строку текста в файл, используя оператор >>:

echo "hello world" >> my_file.txt

или в вашем случае

echo "alias list='ls -cl --group-directories-first'" >> config.fish

Пожалуйста, обратите внимание на различные типы цитат .

228
Stefano Palazzo

Существует множество способов добавления файлов без открытия текстовых редакторов, особенно с помощью нескольких доступных утилит обработки текста в 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
3
Sergiy Kolodyazhnyy

Добавляя к ответ Стефано , вы также можете использовать cat:

  • Используя heredoc:

    $ cat >> config.fish <<'EOF'
    > alias list='ls -cl --group-directories-first'
    > EOF
    

    <<'EOF' означает "принимать следующие данные в качестве входных данных, пока вы не достигнете строки, которая является просто EOF". Кавычки означают буквальное восприятие ввода.

  • Или ввод строки на стандартный ввод:

    $ cat >> config.fish
    

    Затем вставьте или введите строку, нажмите Enter чтобы перейти на новую строку, затем нажмите Ctrl + D, чтобы отметить конец.

1
wjandrea