tdh*_*son 9 shell io-redirection tr
在这一行:
tr a A < /etc/hosts | sort -r |pr -d > /etc/hosts
Run Code Online (Sandbox Code Playgroud)
预期的结果是什么?我知道小写的 'a' 会变成大写的 'A' 但接下来是什么?由于重定向到相同的文件名,原始文件会被覆盖吗?
Mic*_*mer 17
预期的结果是一个空白/etc/hosts文件。
重定向> /etc/hosts发生并在程序开始运行并开始读取文件 之前截断tr文件。
要将输出写入/etc/hosts,您可以使用文件的副本(或之后将输出文件移动到位),或使用sponge来自 moreutils的命令,该命令将吸收标准输入并写入文件:
tr a A < /etc/hosts | sort -r | pr -d | sponge /etc/hosts
Run Code Online (Sandbox Code Playgroud)
在这种情况下,每个“A”在/etc/hosts将被替换为“A”,所有的线将被以相反的具体的语言环境来分类,一个空行将每行之间插入,且结果将被放入/etc/hosts。
您可能还会发现有用的:
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |