Fol*_*aht 70 sed io-redirection
>
可以做到。
echo "text" > file
Run Code Online (Sandbox Code Playgroud)
tee
可以做到。
echo "test" | tee file
Run Code Online (Sandbox Code Playgroud)
sed
不使用上述任何一种都可以做到吗?是否可以在sed
不使用>
或 的情况下将命令的输出保存到文件中tee
?
ank*_*mon 98
tee 和 > 可用于数据重定向,因为它们旨在用于 linux 中的数据重定向。
另一方面,sed 是一个流编辑器。sed 并不像 tee 和 > 那样用于数据重定向。但是,您可以使用命令的组合来做到这一点。
使用 tee 或 > 与 sed
sed 's/Hello/Hi/g' file-name | tee file
Run Code Online (Sandbox Code Playgroud)
或者
sed 's/Hello/Hi/g' file-name > file
Run Code Online (Sandbox Code Playgroud)
使用带有 -i 选项的 sed
sed -i 's/Hello/Hi/g' file-name
Run Code Online (Sandbox Code Playgroud)
最后一个不会重定向,而是会在文件本身中进行更改。
Jig*_*aga 12
sed
有w
可能做你需要的命令:
文件名
将当前模式空间写入文件名。
sed 'w file'
其本身将具有与tee file
. 如果还有其他sed命令,放w
最后一个:
sed 's/This/That/;w file'
Run Code Online (Sandbox Code Playgroud)
但是,这不会受到该-n/--quiet/--silent
选项的影响。这只会抑制原本会进入标准输出的内容。