Linux将文本追加到文件末尾

时间:2020-01-09 10:41:13  来源:igfitidea点击:

Linux如何在文件末尾添加行?
如何在Linux上使用cli在文件末尾追加文本?
如何输入什么命令才能将命令的输出发送到文件末尾?

您需要使用" >>"将文本追加到文件末尾。
在Linux或类似Unix的系统上,将行重定向和追加/添加到文件末尾也很有用。

如何将命令或数据的输出重定向到文件末尾

步骤如下

  • 使用echo命令将文本追加到文件末尾:`echo'text here'>> filename
  • 将命令输出追加到文件末尾:`command-name >> filename'

如何在Linux中将行添加到文件末尾

" >>"称为追加重定向输出。
如果不存在,请创建文件。
例如,将一些联网命令追加到net.eth0.config.sh脚本中:

echo 'I=eth0' >> net.eth0.config.sh
echo 'ip link set $I up' >> net.eth0.config.sh
echo 'ip addr add 10.98.222.5/255.255.255.0 dev $I' >> net.eth0.config.sh
echo 'ip route add default via 10.98.222.1' >> net.eth0.config.sh

您也可以将数据添加到其他配置文件。
另一种选择是运行命令并将输出追加到文件中。
在终端上运行data命令,并将输出追加到output.txt:

date >> output.txt

执行ls命令并将数据追加到files.txt:

ls >> files.txt

要查看files.txt,请使用cat命令:

cat files.txt
more files.txt
less files.txt

如何追加标准输出和标准错误

以下语法允许将标准输出(文件描述符1)和标准错误输出(文件描述符2)都追加到文件名。
追加标准输出和标准错误的格式为:

echo 'text' &>>filename
command &>>filename
find . type d -name "*.projects" &>> list.txt

这在语义上等同于

echo 'text' >>fileNameHere 2>&1
command >>fileNameHere 2>&1
date >>data.txt 2>&1

使用sudo时追加文字

尝试使用tee命令:

echo 'text' | sudo tee -a my_file.txt
echo '104.20.186.5 www.theitroad.local' | sudo tee -a /etc/hosts

当然,我们可以使用以下语法在Linux中将文本追加到文件末尾

sudo sh -c 'echo my_text >> file1'
sudo -- bash -c 'echo "some data" >> /my/path/to/filename.txt'

-c选项传递给bash/sh以使用sudo运行命令。

总结在Unix上将文本追加到文件末尾

要将新行添加到Unix或Linux上的文本,请尝试:

echo "text here" >> filename
command >> filename
date >> filename

或者

printf "text here" >> file
date >> file
## 
printf "\nTEXT HERE\n$(ls)" >> lists.txt

使用cat命令显示它:

cat lists.txt