相关疑难解决方法(0)

如何使用bash执行任何命令"就地"编辑其文件(参数)?

我有一个文件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)

有更好的通用解决方案吗?

sorting bash command-line

109
推荐指数
6
解决办法
6万
查看次数

是否可以使用相同的输入文件作为管道命令的输出?

考虑类似的事情:

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)

unix linux bash shell pipe

32
推荐指数
1
解决办法
6144
查看次数

标签 统计

bash ×2

command-line ×1

linux ×1

pipe ×1

shell ×1

sorting ×1

unix ×1