用于在不打开编辑器的情况下将行附加到文本文件的命令
假设我有一行我想在不打开编辑器的情况下添加到文件中。
我怎么能追加这条线
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标记结束。