linux用echo重定向到文件,Linux下使用>和>>重定向运算符或tee命令将文本写入文件...

本文介绍使用>和>>重定向操作符及tee命令将文本写入Bash中文件的方法,内容有:使用重定向运算符写入文件、使用tee命令写入文件。其实在编写Bash脚本或在Linux命令行上工作时,最常见的任务之一是读写文件。

9091f33c51b10958958277b297db2095.png

使用重定向运算符写入文件

在Bash中,输出的重定向使您可以捕获命令的输出并将其写入文件。

重定向并将输出写入文件的一般格式如下:

output > filename

output >> filename

1]、>重定向运算符将输出写入给定文件。如果文件存在,则将其截断为零长度。否则,将创建文件。使用此运算符时请格外小心,因为您可能会覆盖重要文件。

2]、>>重定向运算符会将输出附加到给定文件。如果文件不存在,则创建该文件。

您需要对该文件具有写权限。否则,您将收到一个权限被拒绝的错误。

这是一个简单的示例,显示了如何将echo命令的输出重定向到文件:

echo "this is a line" > file.txt

为防止覆盖现有文件,请使用set设置启用“noclobber”选项:

set -o noclobber

echo "this is a line" > file.txt

返回:

bash: file.txt: cannot overwrite existing file

>|运算符允许您覆盖Bash的“noclobber”选项:

set -o noclobber

echo "this is a line" >| file.txt

>>运算符将输出附加到文件末尾,而不是覆盖文件:

echo "this is a line" >> file.txt

如果要创建复杂的输出,请使用printf命令:

printf "Hello, I'm %s.\n" $USER > file.txt

其实,您可以将内容传递给cat命令并将其写入文件:

cat << EOF > file.txt

The current working directory is: $PWD

You are logged in as $(whoami)

EOF

要附加这些行,请在文件名前用>更改>>:

cat << EOF >> file.txt

The current working directory is: $PWD

You are logged in as $(whoami)

EOF

您可以将任何命令的输出写入文件:

date +"Year: %Y, Month: %m, Day: %d" > file.txt

date命令的输出将被写入文件。

使用tee命令写入文件

tee命令从标准输入读取并同时写入标准输出和一个或多个文件:

echo "this is a line" | tee file.txt

tee命令的默认行为是覆盖指定的文件,与>运算符相同。要将输出附加到文件,请使用-a(--append)选项调用命令:

echo "this is a line" | tee -a file.txt

如果您不希望tee写入标准输出,则可以将其重定向到/dev/null:

echo "this is a line" | tee file.txt >/dev/null

要将文本写到多个文件中,请将这些文件指定为tee命令的参数:

echo "this is a line" | tee file_1.txt file_2.txt file_3.txt

tee命令的另一个优点是,您可以将其与sudo结合使用,并写入其他用户拥有的文件。要将文本追加到您没有写权限的文件中,请在tee之前添加sudo:

echo "this is a line" | sudo tee file.txt

echo命令的输出作为输入传递到tee,这将提升sudo权限并将文本写入文件。

结论

在Linux操作系统中,要将文本写入文件,请使用>和>>重定向运算符或tee命令,以上介绍的就是实例,按照以上说明操作即可。

相关主题

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值