我有一个文件temp.txt,我想用sortbash中的命令排序.
我希望排序的结果替换原始文件.
这不起作用(我得到一个空文件):
sortx temp.txt > temp.txt
Run Code Online (Sandbox Code Playgroud)
这可以在一行中完成而无需复制到临时文件吗?
编辑:这个-o选项非常酷sort.我sort在我的问题中用作例子.我遇到了与其他命令相同的问题:
uniq temp.txt > temp.txt.
Run Code Online (Sandbox Code Playgroud)
有更好的通用解决方案吗?
考虑类似的事情:
cat file | command > file
Run Code Online (Sandbox Code Playgroud)
这是好习惯吗?这可能会在我们读取输入文件的同时覆盖输入文件,还是始终先在内存中读取然后通过管道传输到第二个命令?
显然,我可以使用临时文件作为中间步骤,但我只是想知道..
t=$(mktemp)
cat file | command > ${t} && mv ${t} file
Run Code Online (Sandbox Code Playgroud)