bc8*_*c81 4 linux io bash file-io stdout
我有一个printf命令可以写入文件但不会打印到标准输出。我希望两者兼而有之,这样我就可以让用户看到发生了什么,同时将记录写入日志文件。
printf "%s\n" "This is some text" "That will be written to a file" "There will be several lines" | tee -a bin/logfile.log > bin/newfile.conf
该命令附加到日志文件并写入新文件,但不将输出写入屏幕:(
操作系统:Centos 7
> bin/newfile.conf这是因为除了您正在执行的操作之外,您还使用重定向屏幕输出tee。只需删除>及其后面的所有内容即可。如果除了屏幕之外还想同时输出到这两个文件,可以使用tee两次,例如:
printf ... | tee -a bin/logfile.log | tee bin/newfile.conf
Run Code Online (Sandbox Code Playgroud)
这会附加到logfile.log并覆盖newfile.conf,并且还会写入屏幕。-a根据需要使用或省略该选项。
正如John1024 指出的那样,您也可以使用tee一次,因为它接受多个文件名,尽管在这种情况下-a 适用于所有文件名,但在您希望所有文件的追加与覆盖行为相同的情况下,它可能很有用。
| 归档时间: |
|
| 查看次数: |
3335 次 |
| 最近记录: |