用于在不打开编辑器的情况下将行附加到文本文件的命令

假设我有一行我想在不打开编辑器的情况下添加到文件中。

我怎么能追加这条线

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 

请注意不同类型的报价 。

有很多方法可以在不打开文本编辑器的情况下附加到文件,特别是通过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

除了Stefano的回答 ,您还可以使用cat

  • 使用heredoc:

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

    <<'EOF'表示“将以下内容作为输入,直到您到达只是EOF ”。 引号意味着从字面上理解输入。

  • 或者在stdin上输入行:

     $ cat >> config.fish 

    然后粘贴或输入该行,按Enter键转到新行,然后按Ctrl + D标记结束。