Pan*_*dey 2 command-line redirect sed
我有一个包含一些数据的文件测试,我正在使用sed命令修改文件中的一些单词,然后将输出重定向到同一个文件,但在执行命令后,该文件不包含任何数据。我不明白这种行为背后的原因?
$ cat test
foo
bar
123
bar
foo
foo
$ sed 's/foo/bar/' test > test
$ cat test
$
Run Code Online (Sandbox Code Playgroud)
使用相同的文件作为输入和输出并不是最佳做法。发生的情况是 shell (bash) 在 sed 读取文件之前打开并截断(命令中的 >)文件。
所以sed 's/foo/bar/' test > test.out这将是正确的做法。
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |